1

在我的一个应用程序中,我使用 Delphi 7、Sql server 2008 R2、BDE,我使用 Sql server 本机客户端驱动程序通过 odbc 使用 bde 连接数据库。

插入始终有效,但某些地方编辑失败,Delphi 引发 EDBEngineError [Sql native client 10.0] 字符串数据长度不匹配。

我在表中有 4 个文本字段(sql 数据类型 TEXT),如果我评论这些字段行编辑工作。

请任何人帮助解决这个问题?

我知道 BDE 已贬值,但这是数据库迁移。这是一个大型应用程序,所以我不想从 BDE 更改。除上述情况外,一切正常。

[原谅我的英语不好]

4

1 回答 1

0

恐怕BDE是这里的原因。BDE 从未设计为与 SQL Server 2008 或更高版本一起使用。我们最近在这里遇到了与 informix 类似的问题(访问冲突也与错误的字符串长度有关)。

您可以做些什么来真正确定 BDE 是否是问题所在,捕获获取字符串长度错误的 sql 语句,并直接使用 ODBC 驱动程序执行相同的 SQL,而中间没有 BDE 层(例如,来自某些 SQL -通过 ODBC 连接的编辑器)。我打赌你不会再遇到问题了。

于 2013-01-25T14:27:24.460 回答