這一次令我瘋狂,但我發現了一個我在網絡上沒有找到的hacky解決方案。未找到數據源名稱,並且沒有錯誤的TargetCPU設置導致默認驅動程序指定的錯誤
解決方案:將目標CPU更改爲x86以避免已知的32位/ 64位ODBC問題。
我不知道如何解決它,所以你可以使用AnyCPU或64位。就目前而言,只要我使用ODBC,我似乎只能堅持32位。奇怪的是,運行實際代碼的外部庫是使用AnyCPU編譯的。但消費項目需要在X86中。
我不打算將此標記爲答案,因爲有太多未解決的問題。我的具體問題
背景把東西放在上下文:
我所用,我建立了一個外部庫的項目。這個庫仍然使用ADODB很多。我的項目做了奇怪的事情,所以我從頭開始重新構建它,保持儘可能多的默認設置以幫助調試它。
嗯,外部庫中的我的ADODB.Connection.Open()函數失敗,出現上述錯誤。舊項目運行良好。新項目拋出了錯誤。不同的是目標CPU。
我一直看到64位和32位DSN的引用,我知道所有關於(據說),但我正在去DSN-less。
我的外部庫被編譯爲AnyCPU,並且我還有其他使用它的項目也在AnyCPU中編譯,但我認爲我沒有遇到其他項目中的ADODB代碼,所以從未遇到它。