簡體   English   中英

從經典asp連接到oracle 11g的連接字符串

[英]Connection string to connect to oracle 11g from classic asp

我使用 ODBC Data Source Administrator 設置了 ODBC 連接。 我將它命名為“BIOTPL”連接,如下所示:

在此處輸入圖片說明

對應的代碼是:

Set Conn = Server.Createobject("ADODB.Connection")  
Conn.Open "Provider=OraOLEDB.Oracle;Data Source=simple_dsn;User Id=USER;Password=PASSWORD;"

但我收到此錯誤。

ORA-12154: TNS:could not resolve the connect identifier specified

我該如何解決這個錯誤? 請幫我 。

以下代碼對我有用。

Set Conn = Server.Createobject("ADODB.Connection")  
Conn.open "Driver={Oracle in OraDb11g_home1};Server=10.11.201.170; Uid=USER;Pwd=PASSWORD;"

這就是我使用VBscript連接到Oracle的方式。

ConnectionString = "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DBCONN + ")(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=" + DatabaseSID + " ))); uid=" + DatabaseUser + ";pwd=" + DatabasePassword + ";"

Set objConnection = CreateObject("ADODB.Connection") 

objConnection.Open ConnectionString

我在使用經典 ASP 和 Conn.Open "Provider=OraOLEDB.Oracle..." 時遇到了類似的錯誤,如上面的代碼所示。

但是,如果我使用 Conn.Open "DSN=MyDSN;User ID=..." 連接工作。

為了使用“Provider=OraOLEDB.Oracle...”語法,我必須在 IIS 中創建一個 32 位應用程序池 - 創建應用程序池,然后設置 Enable 32-Bit Applications = True(在高級設置中)。

請注意,64 位 Windows 具有 32 位和 64 位 ODBC 配置。 默認的 ODBC 管理器是 64 位的。 經典 ASP 應用程序可以在 64 位模式下運行並使用 64 位 ODBC DSN,但有一些限制,例如使用 Conn.Open "DSN=MyDSN;User ID=..."。

如果使用 Conn.Open "DSN=MyDSN..." 語法並在 32 位模式下運行,則需要使用 32 位 ODBC 管理器配置 DSN。 要訪問 32 位 ODBC 管理器,請運行 C:\\Windows\\SysWOW64\\odbcad32.exe 32 位和 64 位 ODBC 管理器窗口看起來相同 - 只是配置了不同的 DSN 列表。

我發現另一個有用的工具是創建一個名為 DBConnection.udl 的文件。 (文件名並不重要 - 只是 .udl 后綴。)當您雙擊該文件時,將打開一個數據鏈接屬性窗口,並允許您選擇提供程序和連接信息。 還有一個測試按鈕來驗證您的連接。 設置連接變量后,關閉窗口並使用文本編輯器打開 DBConnection.udl 文件(notepad.exe 有效),它將顯示可在您的應用程序中使用的 OLEDB 初始化字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM