我們想將我們的數據導出到未知的sql數據庫。它可以是mysql,mssql,postgresql。甚至簡單的事情都會產生問題。例如,在MySQL中,標識符的雙引號僅在ANSI_QUOTES = true時起作用(默認爲false)。在QUOTED_IDENTIFIER = ON時,mssql中的雙引號僅適用。還有一些關於MySQL如何解釋符合sql規範的代碼的問題。例如,有時它會忽略明確指定的約束名稱並根據其規則設置名稱。 MS SQL也不支持名爲BLOB的數據類型。有沒有一種聰明的方式來執行sql兼容odbc導出?或者,我們必須以某種方式查詢數據庫名稱和配置連接,使其與SQL兼容?如何通過ODBC以ansi sql兼容的方式創建表?
0
A
回答
0
的SQLGetInfo可以用來查詢SQL_IDENTIFIER_QUOTE_CHAR,它在我的配置返回「的SQL Server(在另一所指出的安德烈Belykh簡短的回答)。
我用的SQLGetInfo與SQL_DBMS_NAME參數來獲取數據庫管理系統的名字。在SQL Server的情況下,它會返回「的Microsoft SQL Server」,然後我可以申請SQL Server特定的代碼。 SQL服務器的存儲方式blob是通過filestream,但它有侷限性(必須使用Windows身份驗證才能訪問文件)。因此,如果不支持Blob(也可以通過SQLGetTypeInfo檢查),我使用varbinary(max),它受2 GB限制(這對我來說沒什麼問題,我忽略了更大的文件)。默認情況下,我不能使用varbinary,因爲在mysql中它被限制爲65KB。所以AFAIK自定義代碼需要支持不同的dbms。
0
專門爲引用標識符可以使用的SQLGetInfo並要求SQL_IDENTIFIER_QUOTE_CHAR
相關問題
- 1. sql ansi-92兼容問題
- 2. 如何以SQL 2000 + SQL 2005兼容方式刪除存儲過程?
- 3. 以編程方式創建SQL Server表
- 4. 如何通過WPF代碼以舒適的方式創建FlowDocuments?
- 5. 如何通過模板以編程方式創建Word文檔
- 6. 在SQL-Server中創建表的方式
- 7. 通過ODBC創建數據庫
- 8. 如何創建REST兼容的servlet?
- 9. 如何以編程方式創建到SQL Server視圖的ODBC鏈接表並使其可編輯?
- 10. 如何從Progress數據庫通過ODBC
- 11. 如何在Outlook中創建SQL Server數據備份文件通過C#代碼兼容格式
- 12. 如何使用ANSI SQL創建臨時表?
- 13. %模兼容的方式
- 14. 如何創建一個IPFS兼容multihash
- 15. 通過CSS禁用選擇的標準兼容方式
- 16. 如何創建與Angular 4兼容的模式彈出框
- 17. 如何以編程方式在SharePoint庫中創建.docx文件並通過共享點列表提供內容
- 18. 如何以向後兼容的方式使用Objective-C __nonnull?
- 19. SQL Server兼容模式
- 20. 如何自動創建與訪問表兼容的類?
- 21. 如何以便攜式方式創建過程?
- 22. 以編程方式創建SQL作業
- 23. 通過java創建sql server表函數
- 24. MSIE8兼容模式不渲染動態創建表
- 25. 通過ODBC錯誤
- 26. 通過javascript創建容器
- 27. 通過CMD以兼容模式運行可執行文件
- 28. 通過以編程方式創建的導航欄更改autoresizingMask
- 29. 在與SQL Server 2000兼容的SQL Server 2008中創建腳本
- 30. 如何通過文本查找以編程方式創建的按鈕?
感謝您指出該功能。 – pusheax