我们想将我们的数据导出到未知的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