0
我有一個InstallScript MSI項目,我需要連接到Oracle數據庫。InstallShield 2012:什麼是連接到Oracle數據庫的正確方法
我配置了tnsnames.ora文件並安裝了Oracle客戶端。以下代碼是從OnSQLLogin功能:
SQLRTInitialize2();
...
nResult = SQLServerSelectLogin2(szConnection, szServer, szUser, szPassword, bWinLogin, szDB, TRUE, TRUE);
if (nResult = NEXT) then
SQLRTPutConnectionInfor2(szConnection, szServer, szDB, szUser, szPassword);
SQLRTPutConnectionAuthentication (szConnection, bWinLogin);
nResult = SQLRTTestConnection2(szConnection, szServer, szDB, szUser, szPassword, bWinLogin);
...
endif;
即後顯示的下一個被按下該錯誤消息是這樣的:
Error 27502. Could not connect to Oracle '192.168.10.150'.
[Microsoft][ODBC driver for Oracle]
[Oracle]ORA=12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA(12504)
szServer = IP地址 深發展被設定爲從TNSNAMES的SERVICE_NAME。 ora
我還需要做些什麼才能讓IS與Oracle合作?
一個例子會很棒。
進一步檢查日誌文件時,它看起來像我有一個TNS問題。我有一個位於Oracle .. \ network \ admin文件夾中的tnsnames.ora文件。我添加了一個TNS_ADMIN env變量。此鏈接表示IS在tnsnames.ora文件中查找:http://community.flexerasoftware.com/showthread.php?t=171543&page=2&highlight=tnsnames.ora但日誌中另有說明。 – 2012-04-09 15:59:23
1:CSQLServerBrowse :: GetServerList()開始。 1:CSQLServerBrowse :: GetServerList:試圖檢索Oracle的服務器名稱。 1:CSQLServerBrowse :: GetServerList:Retriving在本地機器上註冊的Oracle TNS服務名稱。 1:CSQLServerBrowse :: GetServerList()結束。 1:CSQLServerList :: PopulateListBoxOrComboBox:填充IS_SQLSERVER_LIST列表框。 (1):2262 2:ListBox 3:-2147287038 1:CSQLServerList :: DoSQLServerList()結束。MSI(c)(E8:14)[10:48:05:120] – 2012-04-09 16:02:16