一直在用的一个服务器,本来没什么问题,昨天更新一个漏洞补丁重启后,用TOAD连接工具就连接不上了,但是使用DB2CMD,通过命令的连接的方式却是可以的,在用TOAD连接时,一直在报42818这个错误,于是就在网上查询解决方案。试了几个方案,最终找到了问题的所在。
1、可以尝试使用官网的上的解决方案,在db2cmd里输入
db2set DB2_DEFERRED_PREPARE_SEMANTICS=NO
db2 terminate
2、如果还是不行,则去查看DB2数据的配置信息,win+r 输入DB2CMD
DB2 GET DB CFG FOR 你的数据库名
查看codepage(数据库代码页)
然后再次输入命令 db2set -all,查看db2codepage为多少,如果这里的db2codepage与配置里的数据库代码页不相等,则需要将db2codepage修改为与配置里一样的参数,以配置里的参数是1386为例。
db2set db2codepage=1386
db2 terminate
再次启动toad连接数据库,不再报错,问题解决。