收到更改应用程序中评论字段最大大小的请求。之前将其设置为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 在等于运算符中不兼容
我将其解释为我的服务器对象(将数据库字段与 RemObjects 对象映射的对象)已将字段数据类型映射到 RemObjects 中的错误数据类型。
如何解决?有哪些替代方案?
PS 在此版本中来自 RemObjects 的 Build .1267 日志中明确指出:
已修复:DataSnap:无法将更新发布到 MSSQL 2005 VARCHAR(MAX)
我正在使用构建版本 .1067。想知道更新是否能解决问题
PPS 更新到最新版本的 RemObjects 后,问题仍然存在。