我从开发的.net 4.0应用程序连接到iseries DB2数据库时遇到了一些困难。我一直在尝试使用IBM.Data.DB2.dll库使用以下代码连接到它;
String connectionString = "Database=[DBName];UserID=[UserID];Password=[Password];Server=[ServerName]";
connection = new DB2Connection(connectionString);
connection.Open();
运行connection.Open()
命令时收到以下错误:
错误[58009] [IBM] SQL30020N执行命令或SQL 语句因通信数据中的语法错误而失败 流将影响后续的成功执行 命令和SQL语句:原因代码" 0x124C"(" 0100")""。 SQLSTATE = 58009
有没有人知道在.net中连接这种数据库的另一种方式?
答案 0 :(得分:3)
这对我有用:
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();
}
}
答案 1 :(得分:0)
我们正在使用Progress的Data Direct DB2驱动程序。这支持实体框架。也许你可以试试。您可以在线下载评估版(progress.com)