C# Can';t将.NET核心控制台应用程序连接到Db2数据库

C# Can';t将.NET核心控制台应用程序连接到Db2数据库,c#,.net-core,db2,C#,.net Core,Db2,我试图将我的.NET Core console应用程序连接到存储在服务器上的Db2数据库,出现以下错误: 尝试连接到数据库时出现错误[42968][IBM]SQL1598N 由于许可问题,服务器失败。SQLSTATE=42968 我已经用以下方法对此进行了测试: ibm.data.db2.core 1.0.0.100 ibm.data.db2.core 1.3.0.100 如果要连接到DB2forz/OS或DB2fori-series,请遵循以下建议。您需要一个许可证文件,因为除非您使用DB2C

我试图将我的.NET Core console应用程序连接到存储在服务器上的Db2数据库,出现以下错误:

尝试连接到数据库时出现错误[42968][IBM]SQL1598N 由于许可问题,服务器失败。SQLSTATE=42968

我已经用以下方法对此进行了测试:

ibm.data.db2.core 1.0.0.100

ibm.data.db2.core 1.3.0.100


如果要连接到DB2forz/OS或DB2fori-series,请遵循以下建议。您需要一个许可证文件,因为除非您使用DB2Connect产品(作为网关),否则Z/OS或i-series的每个Db2客户机都必须有一个许可证

从IBM或许可组获得许可证文件后,需要按照说明将其复制到子文件夹


如果您的公司已经安装了可供您访问的DB2Connect网关,那么您可以连接到该网关,而不是直接连接到Z/OS或i-Series。网关将为您处理连接。在这种情况下,您的nuget树中不需要Db2许可证文件。

解决许可证问题怎么样?如何解决?您是否安装了运行时Cient或IBM Db2的许可证?请参阅:它说:“首先连接到主机服务器,然后需要DB2Connect许可证。”我不知道,因为我不熟悉DB2。但无论如何,你的问题不是关于编程。这是DB2设置的问题,因此,这里不讨论这个话题。
string c2 = "Server=xxx.xxxx.xx.xx:446; Database=XXX; UID=XXX; PWD=XXX";

try
{
    using (var connection = new DB2Connection(c2))
    {

        connection.Open();

        using (var command = connection.CreateCommand())
        {
            command.CommandText = "SELECT *FROM IMMO_OPE";

            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    Console.WriteLine(reader.GetString(0));
                }
            }
        }
    }
}
catch(Exception ex)
{
    Console.WriteLine(ex.Message);
}

Console.Read();