【发布时间】:2013-11-12 13:03:08
【问题描述】:
收到了更改应用程序中评论字段最大大小的请求。之前将其设置为 varchar(500),因此在阅读文档后我决定将字段的数据类型从 varchar(500) 更改为 varchar(max )。数据库接受更改没有任何问题(使用 Microsoft SQL Server Management Studio 2005 和 Microsoft SQL Server Management Studio 2008 进行数据库管理)。 然后我继续更换软件。软件是用 Delphi 编写的,带有 RemObjects 以与数据库通信。所以我更改了服务器的 TDASchema,它将我的新 varchar(max) 字段映射为 String(65536) 数据类型(给我一个有点担心这样一个明确的静态大小,但我继续说)。然后我为我的 TDAMemDataTable 对象检索了 DataTable Schema,它更新了所有字段。
我启动了应用程序并决定查看我的数据库是否会接受对这个特定更改字段的更改。我编辑了其中一条记录并单击按钮以将 DataSet 与服务器同步并收到这样的失败消息:
数据类型varchar(max)和text在equal to operator中不兼容
我将其解释为我的服务器对象(将数据库字段与 RemObjects 对象映射的对象)已将字段数据类型映射到 RemObjects 中的错误数据类型。
如何解决?有哪些替代方案?
附:在此版本中,来自 RemObjects 的 Build .1267 日志明确指出:
已修复:DataSnap:无法将更新发布到 MSSQL 2005 VARCHAR(MAX)
我正在使用构建版本 .1067。不知道更新是否会解决问题
附言更新到最新版本的 RemObjects 后,问题依然存在。
【问题讨论】:
标签: sql-server database delphi remobjects