お世話になります。
VB.NETとORACLE9iで開発しています。
まだ初心者で、いろいろと勉強中です。よろしくお願いいたします。
ところで早速ですが質問があります。
Private cn As ADODB.Connection
Private rs As ADODB.Recordset
Private Sub frmClassification_Load(ByVal eventSender As System.Object,
ByVal eventArgs As System.EventArgs) Handles MyBase.Load
cn = New ADODB.Connection
cn.ConnectionString = "Provider=OraOLEDB.Oracle.1;" &
"Persist Security Info=False;" & "User ID=****;"&
"Password=****;" & "Data Source=****"
cn.Open()
'レコードセット獲得
rs = New ADODB.Recordset
rs.Open("T_SAMPLE", cn,ADODB.CursorTypeEnum.adOpenStatic)
'データグリッドコントロールに取得したレコードセットを表示
DataGrid1.DataSource = rs
End Sub
これはT_SAMPLEテーブルの内容をデータグリッドに反映させるプログラムの
一部です。
VB6からVB.NETへ変換をかけたものなのですが、
VB6では正常に作動していたのですが、VB.NETでは、
cn.Open()のところで、”TNS: サービス名を解決できませんでした。”
というエラーが出てしまいます。
どなたか、原因をお分かりでしたらご教授いただけないでしょうか。
なお、ID,PASSWORD,DATASOURCEは伏せるため****にしています。
確かに変換すれば、問題箇所以外のコードは変換されますが・・・
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconconnectingtooracledatasourceusingadonet.asp
.NET には、ADO.NET と、オラクル接続用のクラスやモジュールが
添付・配布されています。
パフォーマンスを無視すれば、以前のコードのままでも
動作は可能ですが・・・
ODBC.NET や、新しいオラクル用のモジュールも配布されている
ようですので、ダウンしてお試し下さい。
.NET Framework 1.0 には、添付されていないようですが、別途
ダウンするなら・・・
http://www.microsoft.com/downloads/details.aspx?familyid=4f55d429-17dc-45ea-bfb3-076d1c052524&displaylang=ja
念の為、ODBC.NET は・・・
http://www.microsoft.com/downloads/details.aspx?familyid=6ccd8427-1017-4f33-a062-d165078e32b1&displaylang=ja
以上。