【发布时间】:2021-02-22 23:26:05
【问题描述】:
我正在尝试将默认架构/实例指定为连接字符串(或特定命令)的一部分,因此它不需要成为查询的一部分。
OdbcConnection conn = new OdbcConnection("Driver={IBM DB2 ODBC DRIVER}; Database=myDB; Hostname=myHostName; Port=myPort; Protocol=TCPIP; Uid=myID; Pwd=myPW;");
OdbcCommand comm = new OdbcCommand("select count(*) from customers", conn);
conn.Open();
var value = comm.ExecuteScalar();
conn.Close();
不幸的是,这失败并出现错误:
ERROR [42S02] [IBM][CLI Driver][DB2] SQL0204N myID.customers 是未定义的名称。 SQLSTATE=42704。
请注意,它使用 myID 架构/实例应该在的位置。如果我明确指定架构/实例:
OdbcCommand comm = new OdbcCommand("select count(*) from mySCHEMA.customers", conn);
它按预期工作。我想将mySCHEMA 指定为连接字符串的一部分,类似于使用 MS SQL Server 时的“初始目录”。
经过大量的实验和谷歌搜索,我似乎无法弄清楚。有什么想法吗?
【问题讨论】: