我希望通过引用一个DB2数据库,而不是在服务器上安装任何软件,使用.Net和C#连接到一个.dll数据库,特别是一个C#版本。目前,我们使用IBM.Data.DB2.iSeries.dll,,它是作为windows访问iSeries的一部分而安装的。我不想安装所有这些。但是显然我没有选择,因为另一个提供者IBM.Data.DB2.dll还要求您在软件运行之前安装它,这是基于堆栈溢出的文章:IBM.Data.DB2
是否只要在代码中引用一个.Net c#代码,而不在服务器上安装其他软件,就可以从.dll代码连接到DB2?
我知道您可以使用Java和JT (http://jt400.sourceforge.net/)来完成这个任务。你为什么不能用.Net来做这个呢?
下面是我们当前如何使用IBM.Data.DB2.iSeries.dll的一个基本示例。
String sql = "SELECT 1 FROM SCHEMAX.TABLEX";
System.Data.IDbConnection connection = null;
IDataReader reader = null;
try
{
connection = new iDB2Connection(ConfigurationManager.ConnectionStrings.ConnectionString);
connection.Open();
IDbCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = sql;
reader = command.ExecuteReader();
}
finally
{
try { reader.Close(); } catch (Exception ex) { }
try { connection.Close(); }catch (Exception ex) { }
}谢谢你抽出时间,韦尔兹
发布于 2010-08-06 18:21:50
我的问题在IBM论坛上得到了回答。以下是答案。
Answer1: Hi Welzie,虽然我对JT产品并不熟悉,但它很可能是基于Type 4 JDBC驱动程序的,它是客户端仅使用的驱动程序(与以前的Type 2 JDBC驱动程序相反,后者需要客户机上的非Java组件)。作为一个只有Java的驱动程序,允许JT执行您所描述的操作。然而,.NET驱动程序有一个更复杂的依赖结构,因此,需要在客户机上放置多个DLL,包括托管和非托管。此外,连接到iSeries服务器还需要DB2连接许可证才能在客户端上使用。因此,支持.NET连接到DB2服务器所需的最小客户端安装是installed驱动程序(安装了大约40 MB )。IBM驱动程序是一个免费分发的客户端包,可以从IBM网站下载。但是,正如我前面所述,要连接到iSeries服务器,还需要DB2连接许可证。
你好,亚历克斯
Answer2: IBM.Data.DB2.iSeries.dll提供者需要IBM for IBM.Data.DB2.iSeries.dll产品的许多其他部分,例如处理TCP/IP通信堆栈、安全性/登录处理、CCSID转换等。不能将其复制或安装为独立的IBM.Data.DB2.iSeries.dll。
https://stackoverflow.com/questions/3357502
复制相似问题