2012-05-23 3 views
3

Я пытаюсь указать схему/экземпляр по умолчанию как часть строки подключения (или конкретной команды), поэтому она не должна быть частью запроса.Укажите схему/экземпляр для запроса 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 где Schema/Instance должно быть. Если я укажу разницу в схеме/экземпляре:

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

работает, как ожидалось. Я хотел бы указать mySCHEMA как часть строки подключения, аналогичную «Начальному каталогу» при использовании MS SQL Server.

После кучи экспериментов и поиска в Google, я не могу понять, как это понять. Есть идеи?

ответ

6

Ничего себе, этот был очевиден. Мне просто нужна CurrentSchema = mySCHEMA в строке подключения.

По какой-то причине я не подключил эту точку сразу после работы через http://www.connectionstrings.com/ibm-db2 (пробовал всевозможные варианты, такие как схема, схема по умолчанию и т. Д.). Надеюсь, это поможет кому-то в будущем ...

Смежные вопросы