2012-03-09 103 views
1

我正在构建一个ms sql数据库的web前端。我们的目标是远离访问97.基本上,我可以从Web前端将数据插入到数据库中。我可以在Access 97中查看记录所插入的数据库表。Web前端可以很好地写入,更新和删除数据库中的记录。访问97 ODBC调用失败字符串数据,右截断

的问题是,我得到在Access 97 ODBC呼叫失败字符串数据,右截断误差只有当我尝试编辑从web前端添加在访问行。当我尝试编辑通过sql语句直接添加到ms sql数据库的Access 97中的记录时,也会发生该错误。

绝对没有错被插入到MS SQL数据库中的数据。我不知道Access如何工作。我试着运行配置文件来查看Access和ms sql db之间的SQL事务,但我无法弄清楚为什么访问更新失败。

是如何访问行更新不是直接更新到Access应用程序是使用MS SQL数据库有什么不同?

编辑:我解决了这个问题。表中有一列是二进制长度为50的类型。这是一个不真正使用的列,所以每次插入时,都为此列插入0。在更改此插入值为null之后,它解决了问题。如果选中此项,则驱动程序转换

enter image description here

:Access无法柄长50

+0

当你说“当我尝试在Access中编辑行”时,你如何访问数据?这是通过一个链接表,你有表格数据直接打开,或者它显示在Access窗体上? – Dan 2012-03-09 17:44:33

+0

我不确定您的链接表是什么意思,但我在Access中打开表格。我不编辑表格中的行。 – user1152226 2012-03-09 17:50:24

回答

0

检查ODBC连接字符串访问被使用来连接到MS SQL数据库的二进制值数字转换为当地的区域格式,其中可能包括数千个指示符(例如1000而不是1000)。这增加了返回数据的长度,并且可能会使用缓冲区。

要修复,请确保该选项未勾选。

+0

这没有奏效。这在所有ODBC配置中都没有选中。另外我使用MS SQL 2000和访问97,而不是SQL Server 2008 – user1152226 2012-03-09 18:21:33