c# - 在连接字符串中为 DB2 查询指定模式/实例

标签 c# db2

我正在尝试将默认架构/实例指定为连接字符串(或特定命令)的一部分,因此它不需要成为查询的一部分。

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 is an undefined name. SQLSTATE=42704.

请注意,它在模式/实例应该所在的位置使用 myID。如果我明确指定架构/实例:

OdbcCommand comm = new OdbcCommand("select count(*) from mySCHEMA.customers", conn);

它按预期工作。我想将 mySCHEMA 指定为连接字符串的一部分,类似于使用 MS SQL Server 时的“初始目录”。

经过大量实验和谷歌搜索后,我似乎无法弄清楚。有什么想法吗?

最佳答案

哇,这个很明显。我只需要连接字符串中的 CurrentSchema=mySCHEMA

出于某种原因,我在完成 http://www.connectionstrings.com/ibm-db2 后没有立即连接那个点。 (尝试了各种变体,如 Schema、Default Schema 等)。希望这对将来的人有帮助...

关于c# - 在连接字符串中为 DB2 查询指定模式/实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727575/

相关文章:

c# - 使用 T4 模板生成代码时引用第三方 DLL

c# - EF4.0 中的延迟加载正在卡住 UI

c# - 有没有办法在不将其放入 div 的情况下制作可滚动的 gridview?

sql - 使用 db2 9.X 数据库、java 8 和 hibernate 4.3.8 时控制台日志中出现 spi.SqlExceptionHelper 警告

syntax - IBM iSeries 的 DB2 : IF EXISTS statement syntax

c# - AdornerLayer.GetAdornerLayer() 为面板中的所有控件返回 NULL

c# - 您会用什么作为业务验证层?

linux - Shellscript 在 cron 作业中不起作用,但可以手动运行

java - 获取有关 SQL 更新记录的详细信息

crash - Liferay在数据库关闭时停止运行,导致崩溃