perl的dbi数据访问odbc读取sqlserver数据被截断的问题
select时报错
DBD::ODBC::st fetchrow_arrayref failed: st_fetch/SQLFetch (long truncated DBI attribute LongTruncOk not set and/or LongReadLen?too small) (SQL-HY000) 这种情况加上 ? ?$dbh_mssql->{LongTruncOk} ? = 1; 可以解决。? 但是这种方式会截断字符串。? 我不想截断字符串,想要完整的读取出来。看了下资料 说是可以设置Long的长度。 使用如下: $dbh_mssql->{LongReadLen} ? ?= 512 *1024; 单独使用时无效。 还是报同样的错误。 $dbh_mssql->{LongReadLen} ? ?= 512 *1024; ?$dbh_mssql->{LongTruncOk} ? = 0; 时还是报错 但是跟 $dbh_mssql->{LongTruncOk} ? = 1;一起使用时就没问题 ?只是还是会截断。 ? 还是说 我这里的len长度还不够? ?2048*2048还是不行 结果 跟数据类型有关。
参考资料: http://blog.csdn.net/aylazhang/article/details/1707745 http://www.freetds.org/userguide/troubleshooting.htm (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |