【问题标题】:SQL0206N error when trying to connect HammerDB to DB2 using db2dsdriver.cfg file尝试使用 db2dsdriver.cfg 文件将 HammerDB 连接到 DB2 时出现 SQL0206N 错误
【发布时间】:2019-02-08 05:57:57
【问题描述】:

我正在尝试使用在 Windows 远程主机上运行的 HammerDB v3.1 为 DB2 10.5 LUW 生成一些数据。无法在与 DB2 相同的主机上运行 HammerDB。 根据HammerDB documentation,我需要为 ODBC 和 CLI 设置 IBM 数据服务器驱动程序。

我做了什么:

  1. 在 HammerDB 主机上下载并设置驱动程序 - v10.5fp10_ntx64_odbc_cli.zip 如所述here

  2. 配置 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"/>
         .......
  1. 添加环境变量 DB2DSDRIVER_CFG_PATH

set DB2DSDRIVER_CFG_PATH=C:\ProgramData\IBM\DB2\C_IBMDB2_CLIDRIVER_clidriver\cfg

  1. 运行 HammerDB GUI,尝试构建模式并接收
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```


【问题讨论】:

  • GLOBAL_VAR1 是否在您的 db2dsdriver.cfg 中的任何位置提及?
  • 无法重现您的症状,对我来说可以。建议您删除 db2dsdriver.cfg 和 db2cli.ini(或重命名它们)并使用 db2cli writecfg add -dsn ... 等命令行创建新版本
  • @Paul Vernon,是的,它存在于 db2dsdriver.cfg 中

标签: db2 db2-luw hammerdb


【解决方案1】:

发生此错误是因为 db2dsdriver.cfg 在 Db2-client-node 上包含您的 DSN 的过多信息。

要恢复,您可以重命名并重新创建 db2dsdriver.cfg/db2cli.ini 文件,也可以编辑 db2dsdriver.cfg 文件并删除 DSN 出现的以下节/database(以防万一):

<sessionglobalvariables>
    <parameter name="global_var1" value="abc"/>
 </sessionglobalvariables>

我通常丢弃默认的 db2dsdriver.cfg/db2cli.ini,并使用脚本来填充它们。这可以通过使用命令行工具“db2cli”来实现,该工具具有多种命令行参数,可让您为 DSN 和数据库编写 cfg 文件节。文档here。

【讨论】:

  • 感谢大家的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-08
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
相关资源
最近更新 更多