2012-04-01 47 views
1

我嘗試使用WinXP中的.NET 3.5應用程序連接到SQL Anywhere 5數據庫(我知道它是olllld!)它可以從獨立的控制檯應用程序中正常工作。但是當我在一個插件中運行確切的代碼時,使用下面的代碼運行一個單獨的AppDomain(我可以在兩者之間唯一區別),我會在下面進一步瞭解錯誤。SQL Anywhere連接錯誤:驅動程序不支持應用程序請求的ODBC行爲版本

順便說一句,兩者都是作爲SAME用戶執行的。

  using (OdbcConnection connection = 
       new OdbcConnection(strConnect)) 
      { 
       OdbcCommand command = new OdbcCommand(query, connection); 
       command.CommandType = CommandType.Text; 
       DataTable posRecordsTable = new DataTable(); 
       connection.Open(); 

OdbcException異常返回以下錯誤:

索引#0 消息:[的Sybase] [ODBC驅動程序]無法連接到數據庫服務器:數據庫發動機不運行

索引#1 消息:[Sybase] [ODBC驅動程序]無效的連接字符串屬性

索引#2 消息:[Sybase] [ODBC驅動程序]無效的連接字符串屬性

索引#3 消息:[Microsoft] [ODBC驅動程序管理器]該驅動程序不支持應用程序請求的ODBC行爲的版本(請參閱SQLSetEnvAttr)。

+0

那麼什麼是連接字符串,混淆了用戶/密碼等硬tpo說它的哪一點,它可能不喜歡,沒有看到它。 – 2012-04-01 17:05:12

+0

託尼,問題是,完全相同的連接字符串和代碼從獨立的應用程序工作正常=(((((((((( – 2012-04-20 01:50:30

+0

總是一個鼻屎,看看這個http://msdn.microsoft.com/ en-us/library/windows/desktop/ms709285(v = vs.85).aspx,它暗示了插件和控制檯的應用程序域配置中的一些細微差別。可能值得在每個應用程序域中設置appdomain設置一個文件看你是否可以發現一些東西 – 2012-04-20 13:29:59

回答

1

您的AppDomain上的驅動程序是否與您的獨立盒具有相同的配置?我認爲檢查環境的相似性會對你有所幫助。通常,通過查看驅動程序讀取其信息的配置文件來解決這些錯誤。不太瞭解SQL Anywhere,但總的來說,我遇到過這樣的問題,我通過修改連接信息或配置文件來解決這些問題。

+0

拉吉夫,謝謝你的回覆。是的,這就是我想要做的。一旦我找出如何做到這一點並找到解決我的問題,我會張貼它,以防某人否則可以受益。 – 2012-04-04 04:36:23

相關問題