繁体   English   中英

连接到DB2 for i(AS400)

[英]Connecting to DB2 for i (AS400)

我正在尝试编写控制台应用程序以使用C#连接到我的DB2。 我只有一些小代码,只是要先测试连接,但是却出现错误,但无法找到此错误的原因。 而且我使用IBM.Data.DB2。 请给点灯。

错误讯息:

Unhandled Exception: System.TypeInitializationException: The type initializer for 'IBM.Data.DB2.DB2Trace' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
   at IBM.Data.DB2.DB2ConnPool.GetDB2ConnPool()
   at IBM.Data.DB2.DB2ConnPool..ctor()
   at IBM.Data.DB2.DB2Trace..cctor()
   --- End of inner exception stack trace ---
   at IBM.Data.DB2.DB2Connection..ctor(String connectionString)
   at something.Program.Main(String[] args) in C:\c#\something\something\Program.cs:line 16
Press any key to continue . . .

    DB2Connection Con = new DB2Connection("Server=myserver; Database=dbname; UID=Db2admin; PWD=password;");

    DB2Command cmd = new DB2Command();

    cmd.CommandText = "Select * from Reports";

    cmd.Connection = Con;

    cmd.CommandTimeout = 60;

    Con.Open();

    DB2DataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

根据IBM i Access Client Solutions自述文件 ,您的.Net数据提供者应为IBM.Data.DB2.iSeries

您可能还需要在连接字符串中为系统命名规则指定NAM=1 这将允许使用连接作业的库列表来查找对象,而不是对模式名称进行硬编码。 图书馆名称]。 这使得在其他环境中运行(例如测试)变得更加容易,而无需更改任何源代码,而只需更改连接字符串以指定不同的库列表[ DBQ属性]。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM