65.9K
CodeProject 正在变化。 阅读更多。
Home

从 .NET 连接到 DB2

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.71/5 (4投票s)

2008 年 5 月 25 日

CPOL

3分钟阅读

viewsIcon

138343

如何从 Windows 上的 .NET 连接到 IBM DB2

引言

我想展示如何使用 IBM 托管提供程序从 C# 连接到 IBM DB2 Express。本文基于我搜索解决问题的过程中遇到的各种文章(和经验)的部分内容。

背景

不久前,我开始用 C# 开发一个客户端-服务器应用程序,它连接到 DB2 Express 服务器。当我开始寻找适合我的连接字符串时,我意识到我找到的任何东西都无法正常工作。网上有很多非常好的文章,但不知何故,连接字符串对我来说不起作用。花了一些时间,但我终于找到了解决我的问题的方法。我希望它对您有所帮助。

使用代码

获取 IBM Data Server Driver for

1. 您需要创建一个帐户(免费)才能从 IBM 下载任何东西。

2. 您可以从 IBM 网站上的以下地址下载所有内容

http://www-306.ibm.com/software/data/db2/express/download.html

请记住,此驱动程序需要您的计算机上已安装 .Net Framework。您不需要任何其他东西即可使其工作。这是一个非常快速且无痛的过程。

您需要安装 IBM .net 提供程序,当然还需要 DB2 服务器。我不会给您完整的代码,因为它与 MS SERVER Express 没有任何不同。

差异

唯一发生变化的是一些名称,例如。

SqlConnection

to

DB2Connection

等等。

DB2Connection, DB2Command, DB2Exception

都位于

IBM.Data.DB2.dll

您需要向您的项目添加一个引用才能访问它。

先决条件

在我可以远程连接之前,我需要在服务器上的 windows 防火墙中创建一个例外。这是一个简单的过程。只需添加一个您选择的名称的例外,并将 TCP 端口设置为 50000(这是 DB2 Express 的默认端口)。

现在是连接字符串

DB2Connection connect = 
new DB2Connection("Database=SAMPLE;UserID=db2admin;Password=yourPass;Server=xxx.xxx.xxx.xxx:50000");

Database - 设置您尝试连接的数据库的名称。

UserID - 这是您使用的用户 ID,“db2admin”是您安装 DB2 Express 时创建的默认用户名,除非您在安装期间更改了它。

Password - 这是您在安装期间为该用户指定的密码。

Server - 这是您指定服务器位置/名称的地方,以及可选的 TCP 端口。

最后一个参数让我头疼。有不同的使用方法,但在我的情况下,只有一种方法有效。

以下是您的选项

假设我们的服务器名称是“Elizabeth”。

选项 1

...Server=Elizabeth;

选项 2

...Server=Elizabeth:50000;

选项 3

...Server=XXX.XXX.XXX.XXX:50000

在前两种情况下,我收到了错误“无法解析 DNS”。只有最后一个选项有效。我想就是这样。如您所见,应用程序中代码的连接部分结构与 MS Server 版本几乎相同。

关注点

希望这可以帮助那些像我一样在 DB2 弹出错误信息时遇到问题的人 =]。

在不久的将来,我将添加一些关于如何编写 IBM 查询和存储过程以及如何将它们与 C# 一起使用的信息。我还将尝试展示 MS sp 和 DB2 sp 之间的区别。

历史

2008-05-25 本文的第一个版本。

2008-05-26 添加了关于如何获取驱动程序以及上述类所在位置的信息

© . All rights reserved.