ODP.NET経由でクライアントからの接続に関して
930339Apr 17 2012 — edited Apr 17 2012サーバ側(自PC)にOracleの評価版、Oracle Database 11g Express Editionをインストールし、
そこへVB2008でODP.NET経由で接続をしています。
クライアント側(他PC)にはODP.NET(OracleInstantClientを含む)をインストールし、接続を行っています。
(行おうとしています。)
上記のような環境で、以下のような記述を行った場合、自PCでは正しく表示されるものの、
クライアント側(他PC)では何も表示されなくなってしまいます。
特にエラーが出ているわけではなく、そのままスルーとなってしまいます。
クライアント側へは、サーバ側のtnsnames.oraをコピーしてある為、Sqlplusも問題なく通ります。
クライアント側の設定が不足しているのか、それともVBでの記述の仕方がおかしいのか、何が
おかしいのか教えて頂ければと思います。。。
《記述内容》
Private Sub BTN_表示_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_表示.Click
Dim Connection As New OracleConnection
Dim Command As OracleCommand
Dim IN_番号 As String
Dim IN_名称 As String
IN_番号 = TXT_番号.Text
IN_名称 = TXT_名称.Text
Try
'Oracleへのコネクションの確立
Connection.ConnectionString = "User Id=TEST; Password=000000; Data Source=XE"
'オープン
Connection.Open()
'コマンド作成
Command = Connection.CreateCommand
Try
Dim dt = New DataTable
Dim ds As New DataSet
Dim Select_SQL As String
'Oracleコマンド
Dim da As OracleDataAdapter
'自動的に更新コマンドを生成するコマンドビルダー
Dim cb As OracleCommandBuilder
'SQL文作成
Select_SQL = "select 番号,名称 from T_マスタ"
'SQL文と接続情報を指定し、Oracleコマンドを作成
da = New OracleDataAdapter(Select_SQL, Connection)
'DataAdapterを指定し、自動的に更新コマンドを生成するコマンドビルダーを作成
cb = New OracleCommandBuilder(da)
'データセットの中に仕入先マスタ_Tというテーブルを作成し、そこへ格納する。
da.Fill(ds, "マスタ_T")
'データセットをDataGridViewにバインド
GRD_マスタ.DataSource = ds
'DataGridViewに表示させるテーブルを指定
GRD_マスタ.DataMember = "マスタ_T"
GRD_マスタ.Columns(0).Width = 80
GRD_マスタ.Columns(1).Width = 240
' 取得レコード数のチェック
If dt.Rows.Count = 0 Then
' レコードがなかった時の処理
End If
Catch ex As Exception
' 例外が発生した時の処理
End Try
Catch ex As Exception
End Try
End Sub