我正在尝试使用在Windows远程主机上运行的HammerDB v3.1为DB2 10.5 LUW生成一些数据。无法在与DB2相同的主机上运行HammerDB。 根据{{3}},我需要为ODBC和CLI设置IBM数据服务器驱动程序。
我做了什么:
配置db2dsdriver.cfg文件
<configuration>
<dsncollection>
<dsn alias="TPCC" name="<my database name>" host="<my host name>" port="50000"/>
<!-- Long aliases are supported -->
<dsn alias="longaliasname2" name="name2" host="server2.net1.com" port="55551">
<parameter name="Authentication" value="SERVER_ENCRYPT"/>
</dsn>
</dsncollection>
<databases>
<database name="<my database name>" host="<my host name>" port="50000">
<parameter name="CurrentSchema" value="OWNER1"/>
.......
set DB2DSDRIVER_CFG_PATH=C:\ProgramData\IBM\DB2\C_IBMDB2_CLIDRIVER_clidriver\cfg
Error in Virtual User 1: [IBM][CLI Driver][DB2/LINUXX8664] SQL0206N "GLOBAL_VAR1" is not valid in the context where it is used. SQLSTATE=42703```
答案 0 :(得分:2)
发生此错误是因为db2dsdriver.cfg在Db2-client-node上具有过多的DSN信息。
要恢复,您可以重命名并重新创建db2dsdriver.cfg / db2cli.ini文件,也可以编辑db2dsdriver.cfg文件并删除以下是DSN出现的节。 /数据库(请注意备份):
<sessionglobalvariables>
<parameter name="global_var1" value="abc"/>
</sessionglobalvariables>
我通常会丢弃缺省的db2dsdriver.cfg / db2cli.ini,并使用脚本来填充它们。这可以通过使用命令行工具“ db2cli”来实现,该工具具有多种命令行参数,可让您为DSN和数据库编写cfg文件节。文档here。