- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想连接到 DB2 数据库,特别是 iSeries 版本,使用 .Net 和 C#,通过引用 .dll 而不是在服务器上安装任何软件。目前我们使用 IBM.Data.DB2.iSeries.dll,它作为 iSeries 访问的一部分安装到 Windows。我不想安装所有这些。但显然我没有选择,因为其他供应商 IBM.Data.DB2.dll 也需要您安装软件,然后它才能根据这个 stackoverflow 帖子运行:IBM.Data.DB2
是否可以通过简单地在代码中引用 .dll 而不在服务器上安装其他软件来从 .Net c# 代码连接到 DB2?
我知道您可以使用 Java 和 JT Open 工具箱 (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) { }
}
谢谢你的时间,威尔齐
最佳答案
我的问题已在 IBM 论坛中得到解答。这是答案。
答案1:嗨,威尔齐,虽然我不熟悉 JT Open 产品,但它很可能基于 Type 4 JDBC 驱动程序,它是客户端的 Java 驱动程序(与需要非 Java 的旧 Type 2 JDBC 驱动程序相反客户端上的组件)。作为仅限 Java 的驱动程序,允许 JT Open 执行您所描述的操作。然而,.NET 驱动程序具有复杂得多的依赖结构,因此需要在客户端放置多个 DLL,包括托管和非托管的。此外,与 iSeries 服务器的连接还需要 DB2 Connect 许可证才能在客户端上使用。因此,支持 .NET 连接到 DB2 服务器所需的最小客户端安装是 IBM 数据服务器驱动程序(大约安装了 40 MB)。 IBM Data Server Driver 是一个免费分发的客户端包,可以从 IBM 网站下载。但是,正如我上面所说,要连接到 iSeries 服务器,您还需要 DB2 Connect 许可证。
问候,亚历克斯
答案2:IBM.Data.DB2.iSeries.dll 提供程序需要 IBM i Access for Windows 产品的许多其他部分,例如处理 TCP/IP 通信堆栈、安全/登录处理、CCSID 转换等。它不能被复制或作为独立的 dll 安装。
关于.net - 仅使用 .dll 引用通过 .Net 连接到 IBM DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357502/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!