2014-09-29 2 views
2

У меня возникли трудности с подключением к базе данных DB2 DB2 из приложения .NET, которое я разрабатываю. Я пытался использовать библиотеку IBM.Data.DB2.dll для подключения к ней, используя следующий код;Подключение к базе данных DB2 DB2 с .NET

String connectionString = "Database=[DBName];UserID=[UserID];Password=[Password];Server=[ServerName]"; 
connection = new DB2Connection(connectionString); 
connection.Open(); 

При выполнении команды connection.Open() я получаю следующую ошибку; ERROR [58009] [IBM] SQL30020N Выполнение команды или инструкции SQL не удалось из-за синтаксической ошибки в потоке данных связи, которая повлияет на успешное выполнение последующих команд и операторов SQL: Код причины «0x124C» («0100») ». SQLSTATE = 58009

Кто-нибудь знает о другом способе подключения к этой базе данных в .net?

+0

Возможно, это несоответствие версии между вами версией клиента DB2, версией DB2 Connect и/или версией iSeries. – mustaccio

+1

http://www-03.ibm.com/systems/power/software/i/access/windows/dotnet.html – Charles

+0

Не могли бы вы предложить другой способ подключения к базе данных? – Hesht

ответ

2

Это работает для меня:

class Program 
{ 
    static void Main(string[] args) 
    { 
     string connString = "DataSource=SYSTEM;UserID=USER;Password=PASSWORD"; 
     iDB2Connection conn = new iDB2Connection(connString); 
     conn.Open(); 

     string cmdString = "CRTPF FILE(TESTLIB/TESTNET) RCDLEN(100)"; 
     string cmdText = "CALL QSYS.QCMDEXC('" + cmdString + "', " + cmdString.Length.ToString("0000000000") + ".00000" + ")"; 

     iDB2Command cmd = new iDB2Command(cmdText, conn); 
     cmd.ExecuteNonQuery(); 
     cmd.Dispose(); 

     conn.Close(); 
    } 
} 
0

Мы используем драйвер Data Direct DB2 из прогресса. Это поддерживает Entity Framework. Может быть, вы можете попробовать. Вы можете загрузить оценочную версию в Интернете (progress.com)