当前位置: 代码迷 >> PB >> PB11.5, SQL Native Client不允许数据类型 ntext到varchar的隐性转换有关问题
  详细解决方案

PB11.5, SQL Native Client不允许数据类型 ntext到varchar的隐性转换有关问题

热度:543   发布时间:2016-04-29 05:19:02.0
PB11.5, SQL Native Client不允许数据类型 ntext到varchar的隐性转换问题。


程序是从PB9升到11.5,之前在PB9中运行一切正常,升到PB11.5,
datawindow查询数据时,就出现不允许从数据类型 ntext到varchar的隐性转换错语,
后台数据源是存储过程,里面没有ntext数据类型,最长的是varchar(8000),
想知道microsoft sql native client将varchar多长的视为ntext,或者如何解决此问题,
我试着将varchar(8000)的栏位强制转换为varchar(800)就可以过.
数据窗口很多,一个一个改不是办法。

完整错误信息。
microsoft sql native client 不允许从数据类型 ntext到varchar的隐性转换,请使用CONVERT函数来运行此查询.
------解决思路----------------------
将这个变量改成text类型
------解决思路----------------------
varchar(8000)超过2000的话好像datawindow就不支持了,建议你不要超过2000,如果确实需要,那就用blob等类型,在数据窗口中不要选择这样的列,会有问题的

或者你也可以尝试把pb升级到12.5及以上版本,有可能解决这个问题
------解决思路----------------------
我改用PB11.5時, 測試多種連接SQL SERVER 的方式, 
最穩定的方法是 ODBC
連線字串如下
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='UID=???;PWD=<******>;Driver=SQL Server;Server=SqlServerName;Trusted_Connection=No;Database=DataBaseName;'"
  相关解决方案