【发布时间】:2010-07-08 04:22:06
【问题描述】:
我有一个应用程序通过用户选择的 ODBC 数据源存储数据。到目前为止,它在一系列数据库系统(例如 JET、Oracle、SQL Server)上运行良好,因为 SQL 语法相当简单。
现在我遇到了一个问题,我需要在我的字符串中存储超过 255 个字符。以前我使用列类型 VARCHAR (255) 创建了表。
现在,如果我尝试使用例如创建表VARCHAR (512) 然后它落在 Access 数据库上。我知道我可以将 MEMO 类型用于 Access,但这是非标准 SQL,因此可能会在其他数据库系统(例如 Oracle)上失败。
是否有任何广泛支持的 SQL 标准来创建超过 255 个字符的文本列,或者我需要寻找其他解决方案吗?在我看来,替代方案是:
1) 剖析数据库系统,根据数据库系统自定义SQLCREATE TABLE命令。我不喜欢这样,因为它违背了使用 ODBC 的目的。
2) 根据需要添加 255 个字符的额外列(例如 LONGSTRING1、LONGSTRING2、...)并在阅读后连接。我不喜欢这样,因为这意味着表之间的列数可能会有所不同,并且会使读/写变得复杂。
这两个选项还有其他可行的替代方案吗?或者是否有可能有一个大多数数据库供应商都支持的符合 SQL 的 CREATE TABLE 命令,它支持超过 255 个字符的字符串?
【问题讨论】: