0

该表存储文件名。主键是一个自动递增的整数。使用结果集的搜索有效。并调用delete方法会生成以下错误消息:

DBIx::Class::Relationship::CascadeActions::delete(): DBI Exception: 
DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver]Invalid 
precision value (SQL-HY104) [for Statement "DELETE FROM tblComplaintAttachment 
WHERE ( ID = ? )" with ParamValues: 1='8.4.9.3.0.'] at Dups.pl line 17

ID 是主键。如果我打印 ID,它会显示84930 - 没有句点。任何想法为什么删除会产生错误?

数据库是 SQL Server 2000。我在 Windows XP 下使用 DBIx::Class 和 Strawberry Perl。

4

1 回答 1

0

来自DBIx::Class::Storage::DBI::ODBC。我不确定这正是问题所在,但它可以作为您的起点。

已知的访问问题 ^

无效的精度值

尝试在 MEMO 字段中存储超过 255 个字符时收到此错误消息。问题是(据我所知)MS Access ODBC 驱动程序中的一个错误。该问题通过在 add_columns 中将列的 data_type 设置为 SQL_LONGVARCHAR 来解决。SQL_LONGVARCHAR 是 DBI 模块中的常量

于 2010-06-02T19:33:35.500 回答