2

首先,我的 cconfig 是:
语言:ColdFusion 10(并安装了更新 11)
DB 是 MS SQL Server 2012
使用 jtds jdbc(试用版本 1.2.6、1.2.8 和 1.3.0)

我目前在运行查询时遇到问题,我使用 cfqueryparam 和 cfsqltype 为 cf_sql_nvarchar。问题是页面只是挂起。如果我查看 ColdFusion 的应用程序日志,我看到错误:“net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setNString(ILjava/lang/String;)V 包含或处理的文件的具体顺序是:” 后跟测试文件名。

我在 nvarchar 列上运行一个非常基本的选择查询,但是页面没有加载并且该错误被记录。

我知道它必须与 jtds jdbc 有关,就好像我通过常规 sql 驱动程序连接它会完美运行一样。

那么以前有人经历过吗?如果是这样,你的决定是什么?

谢谢

4

2 回答 2

2

我进行了快速搜索,结果表明jtds 不支持setNString(). 我检查了 1.3.1 的驱动程序源,如评论中所述,该方法未实现:

“..在实现 getNString 时,代码仅包含 // TODO 自动生成的方法存根并抛出新 AbstractMethodError();..”

所以听起来你可能需要使用cf_sql_varchar,结合“字符串格式”设置,就像在以前的版本中一样。显然,另一种选择是使用不同的驱动程序(支持setNString()的驱动程序,例如 Adob​​e 的驱动程序或MS SQL Server 驱动程序)。

于 2013-08-26T16:02:00.340 回答
1

尝试使用cf_sql_varchar. cf_sql_nvarchar根据文档,这不是一个有效的选项,您应该使用cf_sql_varchar

于 2013-08-26T15:54:03.430 回答