
いつもお世話になっております。
VB.netでwindowsアプリケーションの作成しているところです。
SQLサーバーのテーブルを参照していますが、テーブルの結合は同じデータベース内にないと結合できないのでしょうか?
'SQL接続処理
Dim strConn As String = "Password='';User ID=sa;Initial Catalog=test;Data Source=server1"
と、testというデータベースがありその中に幾つかテーブルがあります。
このtestデータベースにないテーブルが必要になり、aaaデータベース内の
テーブルを結合しようとしたのですが、出来ません。
Catalog=test,aaaとやってみたり、SELECT * FROM tbl1,aaa.tbl2などとしてみましたが、遠いようです。
SQLのクエリを使って、テーブルの追加をすると同じデータベース内のテーブルしか出てこないので、出来ないのかなと思っていますがどうでしょうか?
わかる方がいましたら教えてください。
No.1ベストアンサー
- 回答日時:
select * from tbl1,[aaa].[dbo].[tbl2]
のように、[データベース名].[オーナー].[テーブル名]の様式で指定すれば、良いかと思います。
(当然、権限の問題がない前提ですが・・)
この回答への補足
015_dogiです。
>同じデータベース内・・・
では有りません。ごめんなさい、間違えました。
データベースも私が作ったものです。
同じサーバー内と書こうとしたものです。
データベースも特に設定はしていません。
宜しくお願いします。
k_o_r_o_c_h_a_n さんご回答ありがとうございます。
k_o_r_o_c_h_a_n さんの通りにやったのですが、
"System.DataSqlclient.SqlException"のハンドルされていない例外がsystem.data.dllで発生しました。
と出ます。
>(当然、権限の問題がない前提ですが・・)
同じデータベース内でも権限が違うのですか?
とりあえず両方とも私がインポートしたもので、特に変更はしていないのですが・・・
新たにSQL接続する必要ありますか?
Dim strConn As String = "Password='';User ID=sa;Initial Catalog=aaa;Data Source=server1"
などのように。
何卒宜しくお願いします。
No.4
- 回答日時:
>エラーで
>"System.DataSqlclient.SqlException"のハンドルされていない例外がsystem.data.dllで発生しました。
というのはもっと詳細に分からないものしょうか?
.netについては、詳しくないのですが・・
SQL文にエラーがあるのだと推測できるので、まずは、server1でSQL文が処理できるか
処理できないかを確認した方が良いでしょう。
SQLserverのクライアントツール(何でも良い)で、SQL文を処理してみてください。
k_o_r_o_c_h_a_n色々ありがとうございました。
エンタープライズマネージャーのクエリでソースを作り
出来ましたのでご連絡いたします。
ご連絡が遅くなりましてすいません。
No.3
- 回答日時:
>select * from [データベース].[オーナ].[テーブル]と書き
>whereの部分も[データベース].[オーナ].[テーブル].[列名]で書かないと駄目なのですよね。
「面倒だなぁ」という意味ですよね?
基本的に・・・
列名を正しく表現するとしたら、[データベース].[オーナ].[テーブル].[列名]の表記となります。
ただし、単一のSQL文上で、同じオブジェクトを、複数回別目的で使うことがあるので、
別名なる機能があります。これを利用すると、記述の簡素化ができます。
別名(エリアス)例:
select a.氏名 as オヤジの名前,b.バカ息子の名前
from 家族台帳 a,家族台帳 b
where a.世帯=b.世帯 and a.続柄='オヤジ' and b.続柄='子'
先のSQLだと..
select * from tbl1,[aaa].[dbo].[tbl2] as tbl2
where tbl1.col1=tbl2.col1
のように別名を付与すれば、from以外では、データベースやオーナを意識しないで済みます。
k_o_r_o_c_h_a_n さんご回答ありがとうございました。
なかなか苦戦しております。
エラーで
"System.DataSqlclient.SqlException"のハンドルされていない例外がsystem.data.dllで発生しました。
というのはもっと詳細に分からないものしょうか?
っというのも
'SQL接続処理
Dim strConn As String = "Password='';User ID=sa;Initial Catalog=test;Data Source=server1"
はテスト環境で本番環境はまた違うサーバーです。
Source=server1を変更したのですが上記のエラーが出ました。
サーバー接続は出来ていると思います。
データベース名、テーブルも同じレイアウトになっているはずです。
パスワードなども設定していません。
サーバー名を変えるだけでは駄目なのでしょうか?
本件のテーブルの結合時のエラーも同じところででます。
エラーの出るところは下記の部分の
adapter = New SqlClient.SqlDataAdapter(strSQL, strConn)
ds = New DataSet
adapter.fill(ds,"Estimate")
の部分です。
詳細にヒントが出てくれると助かるのですが・・・
何か分かりますでしょうか?
No.2
- 回答日時:
どういう環境でなのか、良く判らないんですが..
SQLserverは、1つサーバに複数のインスタンスを作れます。
各インスタンスは、複数のデータベースを管理できます。
インスタンス内のデータベースを跨ぐような処理も可能ですし、
インスタンスを跨ぐような処理もできます。
単一インスタンス内のデータベースを跨ぐだけであれば、
[データベース].[オーナ].[テーブル]の様式で書くだけで
OKです。
インスタンスを跨ぐ場合、リモートデータベースなどの仕組みを
使わないとダメだと思います。
>>(当然、権限の問題がない前提ですが・・)
>同じデータベース内でも権限が違うのですか?
誰でも、全てのデータを好きに見ることができるようでは、
セキュリティに問題があると思いませんか?
詳しくは、マニュアルを読んでください。
k_o_r_o_c_h_a_nさんありがとうございます。
まだ解決はしていないのですが・・・
select * from [データベース].[オーナ].[テーブル]と書き
whereの部分も[データベース].[オーナ].[テーブル].[列名]で書かないと駄目なのですよね。
すいません教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
このQ&Aを見た人はこんなQ&Aも見ています
-
2台のサーバー間でのテーブル結合方法
SQL Server
-
あるDBから別のDBのテーブルをselectしたい
MySQL
-
別サーバーのDB同士を結合することは可能でしょうか?
MySQL
-
-
4
SQLServer2005上の別DBからテーブルを読みたい
SQL Server
-
5
異なるサーバのDBデータ同士を結合するには?
Oracle
-
6
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
7
異なるインスタンスにあるDBの結合
SQL Server
-
8
EXCEL2003 VBAで2つのDBに接続してSQLを実行し、異なる
Visual Basic(VBA)
-
9
select文の実行結果に空白行を入れたい
MySQL
-
10
SQLで同じDBに対し2つのコネクションをもてる?
SQL Server
-
11
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
12
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
13
異なるDB間でのJOINやVIEWについて
その他(データベース)
-
14
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
15
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
16
Webページ上のボタン等の位置を移動したい。
Microsoft ASP
-
17
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
18
ASP.NetのGridViewで任意の行クリックで選択を行う方法
Microsoft ASP
-
19
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
20
ORA-01013のエラーについて経験のある方お願いします。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MSDEへのデータのインポート
-
ADPのテーブルの場所
-
SQLとデータベースについて?
-
確認方法
-
ASP.NETからSQLServerに接続出...
-
テーブル名やカラム名の命名に...
-
データベースの登録順序を簡単...
-
oscommerceのインストールについて
-
ACCESS アクセスで他のデータ...
-
一つのMySQLデータベースで、複...
-
Notion@リレーション値の取得...
-
「テーブルに座って……」という...
-
会社の飲み会の幹事になり、座...
-
お金持ちのテーブル
-
Accessでデータシートに同じデ...
-
更新クエリが実行できず、困っ...
-
ユーザーテーブルとシステムテ...
-
SQL削除条件について
-
TDLにお弁当の持込をしたい!
-
テーブルの容量の一覧を表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他のデータベースとのテーブル結合
-
2台のサーバー間でのテーブル...
-
Oracleのsystem表領域について
-
SQliteの日付検索について
-
ACCESS アクセスで他のデータ...
-
Visuaal Studio Community 2022...
-
Accessで2種類のデータベースを...
-
Microsoft Access:クエリのフ...
-
データベースを複数作ったほう...
-
構造が同じ別テーブルInsert In...
-
コマンドラインオプションにパ...
-
SQL Server 2000 テーブル未使...
-
ACCESS(VBA)について
-
テーブル名やカラム名の命名に...
-
[1000地域 × 10カテゴリー = 1...
-
Access 外部MDBのリンクテーブ...
-
一つのMySQLデータベースで、複...
-
テーブル単位のエクスポート、...
-
Accessでテーブルを外だしにす...
-
ODBC データソース選択画面が...
おすすめ情報