2016-01-04 73 views
0

我想獲得連接字符串的權利,並使用odbcad32.exe來測試連接。odbcad32.exe測試連接通過,但程序連接失敗

問題是,無論輸入什麼密碼,我都會建立連接。

這似乎很無用。

我的.NET程序失敗,未找到數據源名稱,並且沒有指定默認驅動程序,即使odbcad32.exe獲取連接沒有問題。

數據源名稱:Test_Blah 說明:Test_Blah 主機名:BLH住房 端口號:5060 數據庫名稱:IH 用戶ID:管理員 驅動程序:進度OpenEdge驅動器102億密碼 (空間)

這是我的連接字符串:

<add name="BlhConnection" connectionString="DSN=Test_Blah;UID=Administrator;PWD=' ' ;" /> 

任何想法如何,我可以得到這個工作?

回答

0

32位ODBC驅動程序和基於這些的連接只能由32位客戶端訪問。

您沒有提及您的操作系統 - 但是當您的客戶端應用程序是64位應用程序時,32位ODBC驅動程序將不起作用。我不是100%肯定 - 但我懷疑在10.2B中有OpenEdge的64位ODBC驅動程序。在OpenEdge 11上,這沒有問題。

+0

該操作系統是64位的。我已經表現出我自己的滿意度,該程序沒有錯,在Live文件上也進行了測試。唯一的問題是這個測試數據庫連接。爲什麼OBCAD32.exe連接任何密碼?這是一個垃圾測試。 –

+0

我能夠在SQL Server Management Studio中設置鏈接服務器,打開它並查看錶格。但是,當我運行我的解壓縮應用程序時,仍然出現此錯誤:System.Data.Odbc.OdbcException:錯誤[IM002] [Microsoft] [ODBC驅動程序管理器]未找到數據源名稱,沒有指定默認驅動程序 –

0

我會首先驗證您是否擁有正確的登錄憑證。特別是因爲你聲明,無論你使用什麼,你都會得到相同的結果。

驗證憑證的最簡單方法是登錄到數據庫服務器並打開「proenv」會話。使用proenv可確保正確設置所有Progress環境。如果它是Windows服務器,則「Proenv」位於Progress或OpenEdge程序組中,如果服務器是UNIX,則可以從命令行運行「$ DLC/bin/proenv」。運行proenv shell之後,您可以使用Progress提供的「sqlexp」工具來驗證連接字符串和憑證。例如:

sqlexp -user userName -password passWord -db dbName -S portNum 
+0

我不知道如何去做你的建議。登錄到數據庫服務器 - 如何?在使用proenv時找不到任何適當的指南。 –

+0

第一步是確定數據庫服務器是否是Windows系統或者是否運行Unix系統?誰設置了數據庫?該人應該瞭解上述說明。這些命令的目的是爲了演示服務器上正在運行的SQL-92服務器以及您認爲處於啓動狀態的端口,並且您的用戶名和密碼是正確的。如果測試工作,那麼問題在於你的.NET代碼。如果測試失敗,那麼問題在於數據庫服務器配置信息。 –

+0

我能夠在SQL Server Management Studio中設置鏈接服務器,打開它並查看錶格。但是,當我運行我的解壓縮應用程序時,仍然出現此錯誤:System.Data.Odbc。OdbcException:錯誤[IM002] [Microsoft] [ODBC驅動程序管理器]未找到數據源名稱並且未指定默認驅動程序 –