Connecting to a DB2 database DB2 with .NET.

I am having difficulty connecting to a DB2 DB2 database from a .NET application I am developing. I tried to use the IBM.Data.DB2.dll library to connect to it using the following code;

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


When the command is executed connection.Open()

, I get the following error:

ERROR [58009] [IBM] SQL30020N The command or SQL could not be executed due to a syntax error in the communication data stream, which will affect the successful execution of subsequent commands and SQL statements: Reason code "0x124C" ("0100") "". SQLSTATE = 58009

Does anyone know of another way to connect to this database in .net?


source to share

2 answers

This works for me:

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

        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);





We are using the Data Direct DB2 driver from Progress. This is supported by the Entity Framework. Maybe you can try. You can download the evaluation version online (



All Articles