2012-04-06 34 views
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合作?

一個例子會很棒。

+0

進一步檢查日誌文件時,它看起來像我有一個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

+0

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

回答

0

它總是很簡單的事情。事實證明,當文件被保存時,它被命名爲tnsnames.ora.ora

更改爲tnsnames.ora並遵循用戶指南中的說明並且所有工作。

相關問題