我依稀記得在某處(MSDN ODBC文檔?)某個應用程序無法與單個數據源建立多個連接。在我看來,我需要一個應用程序的所有線程必須共享的連接。 我正試圖查看這些信息,但我似乎無法再找到它了。有誰知道/記得這是如何工作的?
這一切都可能成爲我們的應用程序的問題,因爲它的一些線程將動態連接到他們選擇的數據源。我不想看到隨機連接錯誤,如果其中兩個將同時連接到一個來源,所以我想仔細檢查此信息。ODBC - 從一個應用程序到同一個數據源的多個連接
3
A
回答
2
也許您在the MSDN documentation中提到的語句是說只有一個語句可以在單個連接上處於活動狀態。它說:
多個每個連接的活動語句
SQL Server已收到聲明後,在SQL Server TDS協議不允許接受來自該連接的任何其他聲明,直到一個的發生以下情況:
- 客戶端應用程序處理整個結果集。
- 客戶端發送一條語句,告訴服務器它可以關閉結果集的其餘部分。
這意味着,當ODBC應用程序使用默認結果集時,SQL Server不支持連接句柄上的多個活動語句句柄,並且只能在任何時間點主動處理一個語句。
但是,當ODBC應用程序使用API服務器遊標時,驅動程序可以支持連接上的多個活動語句。當每個遊標命令的行集已經在客戶端接收到時,SQL Server就認爲該語句已經完成,並且接受來自該連接句柄上另一個語句句柄的另一個語句。
多個連接都很好。每個連接多個語句,不太好。
1
不,在ODBC本身沒有這樣的限制。有可能某個特定的驅動程序可能出於某種原因限制了連接,但根據規範我沒有意識到任何限制。
相關問題
- 1. 多個數據庫連接爲一個應用程序
- 2. 從一個單獨的應用程序連接到一個mysql數據庫
- 3. 在一個應用程序中創建多個Spring Data JPA數據源連接
- 4. 將兩個數據源連接到同一個數據庫
- 5. 在同一個Web應用程序中連接到很多MYSQL數據庫
- 6. 將Web應用程序連接到多個窗口odbc數據庫
- 7. 將多個桌面應用程序連接到一個在線數據庫
- 8. Java應用程序連接在同一個數據庫中
- 9. 連接到另一個數據源
- 10. 從一個c#應用程序創建多個連接到相同的MYSQL數據庫
- 11. 從單個webapp移動到多個webapps連接到同一個數據庫
- 12. 休眠連接到同一個表的多個數據庫
- 13. 使用Hibernate將兩個或多個應用程序連接到同一個數據庫
- 14. 多個連接到同一個表
- 15. 將一個MS Access(.mdb)數據庫連接到一個MVC3 Web應用程序
- 16. 從一個rails應用程序提交數據到另一個
- 17. 只允許一個Openshift應用程序連接到另一個
- 18. 在一個Web應用程序中的多個數據庫連接 - java
- 19. PHP/MYSQL - 多個連接到同一個數據庫?
- 20. 具有一個類的多個數據源(ODBC,OleDB,SQL)
- 21. django一個應用程序一個模型多個數據庫
- 22. 如何創建兩個連接到同一數據庫的應用程序?
- 23. 連接到MVC Web應用程序中的多個數據庫
- 24. 基於SubSonic的應用程序,連接到多個數據庫
- 25. 連接到多個數據庫的Extensible Rails應用程序
- 26. 安全的ODBC網絡連接到一個MS Access數據庫
- 27. 從另一個應用程序訪問一個應用程序的數據庫
- 28. 將rails應用程序連接到多個數據庫
- 29. 連接到同一個ADODB Oracle數據庫使用Excel VBA
- 30. 將兩個laravel應用程序連接到一個數據庫Openshift
我不記得任何這種ODBC的一般限制。 MS文檔的快速瀏覽在SQL 2008文檔(與SQL Server(ODBC)通信)中說明了這一點: 「應用程序可以連接到任意數量的數據源,應用程序可以使用驅動程序和數據源的組合,相同的驅動程序和數據源組合,甚至相同的驅動程序和多個連接到相同的數據源。「 – 2010-04-28 15:59:35
感謝您的答案 - 我明顯錯誤 - 某些_drivers_可能不支持來自同一應用程序的多個連接,但ODBC不具備此限制。還要感謝關於這些聲明的其他相關信息。 – 2010-05-10 14:38:50