我有一個使用ADO連接到SQL Server數據庫的舊VB6應用程序,如:依賴VB6的連接到Oracle數據庫
Dim cnServer As New ADODB.Connection
cnServer.Provider = "sqloledb"
sConnectString = "Server=" & txtServer.Text & ";" & _
"Database=" & txtDatabase.Text & ";" & _
"User ID=" & txtUserID.Text & ";" & _
"Password=" & txtPassword.Text & ";" & _
"Connect timeout=10"
cnServer.Open sConnectString
...這一直工作。但是現在我需要修改它以連接到Oracle 11g數據庫。我發現this article和修改代碼:
...但是當我運行它,我得到讀取3706, Provider cannot be found. It may not be properly installed.
這發生在我的開發VM(其中一個錯誤 - 不要笑 - 仍然是在Win2K Pro上)以及我的測試機(使用Win XP)。
一些進一步的搜索表明oracore11.dll是一個依賴項,所以我去了Oracle的下載站點,並將這個DLL作爲包含我所認爲的全套Windows相關編碼工具的.zip文件的一部分。然而,即使我將這個DLL放在與我的VB6可執行文件相同的文件夾中,該錯誤仍然會發生。當我嘗試註冊該DLL時,該嘗試只會產生另一個錯誤:The specified module could not be found.
在進一步發生可能是錯誤路徑或無法解決的問題之前,我首先應該檢查並看到最好/最簡單的方式讓VB6應用程序首先連接到Oracle。我的目標是讓這個VB6應用程序儘可能便攜,不需要任何預先安裝的軟件包工作,並且可以很容易地將.exe的最小集合傳遞給.exe本身。 (僅供參考,此VB6應用程序不是商業分佈式產品,只是我部門工作中的內部使用的測試工具。它需要平面文件固定寬度數據,解析它,然後生成SQL代碼以將其插入。將DB)
我的目標是有這個VB6應用程序儘可能隨身攜帶,不需要任何預先安裝包時,和具有最小集的依賴關係很容易被.exe本身傳遞。此客戶端軟件包是獲取VB6應用程序連接到Oracle數據庫的必要且唯一的方法嗎? – JDM
非常多......並且您可以算作自己的幸運,因爲之前支持的方式是在每個需要連接到Oracle數據庫的客戶端上安裝稱爲oracle客戶端工具的exe文件。現在我們只需要獲得名爲Oracle Database Instant的zip文件,並從那裏配置oracle連接... –
仍然沒有運氣。我已經更新了一些在線資源的代碼,所以最好把我變成一個新的問題。 – JDM