有朋友問了一個問題, VB 只能用 tnsname.ora 內的 tns 來連線,而不能動態連,想連哪裡就連哪裡嗎?
解答在這裡:
http://www.devx.com/tips/Tip/27775
Dim TNS_INFO As String
Dim cnxDB As New ADODB.Connection
TNS_INFO = "(DESCRIPTION=" & _
"(ADDRESS_LIST=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=資料庫位址)" & _
"(PORT=埠號)))" & _
"(CONNECT_DATA=(SID=SID名稱)" & _
"(SERVER=DEDICATED)))"
若是沒有 OraOLEDB.Oracle 的話,用 MSDAORA.1 也是可以的
'cnxDB.ConnectionString = "Provider=MSDAORA.1;" & _
cnxDB.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=" & TNS_INFO & ";" & _
"user id=帳號;" & _
"password=密碼"
Debug.Print cnxDB.ConnectionString