C#连接db2 的连接字符串 怎么写 写详细点

 我来答
zhoulin777361
2014-11-14 · TA获得超过362个赞
知道小有建树答主
回答量:789
采纳率:40%
帮助的人:299万
展开全部
c#连接DB2一共有3种方式
分别为
一、ODBC
OdbcConnection odbcConn = new OdbcConnection("Driver={IBM DB2 ODBC
DRIVER};Server=localhost;DSN=TESTDB;UID=username;PWD=pwd;Protocol=TCPIP");
odbcConn.Open();

二、OLE DB
[C#]
OleDbConnection con = new OleDbConnection("Provider=IBMDADB2;" +
"Data Source=sample;UID=userid;PWD=password;" );
con.Open()
参考地址
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.ms.doc/doc/c0011825.html
这里贴一个我写的连接DB2 返回一个oledbdatareader的类

using System;
using System.Collections.Generic;
using System.Data.OleDb;
public class DB2Helper : IDisposable
{
/// <summary>
/// <DB2>执行查询语句,返回SqlDataReader
/// </summary>
/// <param name="strSQL"><DB2>查询语句</param>
/// <returns>SqlDataReader</returns>
private bool m_disposed;//is or not disposed true or flase
OleDbConnection cn=null;
OleDbCommand DB2Command = null;
private string strQuerySQL="";

public OleDbDataReader ExecuteReaderDB2(string strSQL)
{
strQuerySQL = strSQL;
DB2Command = new OleDbCommand(strQuerySQL, cn);
OleDbDataReader rdr = null;
try
{
cn.Open();
rdr = DB2Command.ExecuteReader();
}
catch (System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
return rdr;
}

public DB2Helper()
{
string DB2ConnectionString = @"Provider=IBMDADB2.1;Location=xxx.xxx.xxx.xxx:xxxx;Data Source=TestDB;" +
" Persist Security Info=True;User ID=xxxx;Password=xxxx;CurrentSchemaTestDB;";
cn = new OleDbConnection(DB2ConnectionString);
DB2Command = new OleDbCommand();
}

public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
if (!m_disposed)
{
if (!disposing)
{
// Release unmanaged resources
DB2Command.Connection.Close();
DB2Command = null;
cn.Close();
cn = null;
}

// Release managed resources
m_disposed = true;
}

}

~DB2Helper()
{
Dispose(false);
}
}

三、使用IBM提供的IBM.data.DB2.DLL 的接口进行连接
using IBM.data.DB2;
DB2Connection cn = new DB2Connection(
"Database=TEST;UserID=db2admin; Password=password;Server=IS500");
DB2Command myDB2Command = new DB2Command(myInsertQuery);
myDB2Command.Connection = cn ;
myConn.Open();
myDB2Command.ExecuteNonQuery();
myConn.Close();
其中IBM.data.DB2.DLL在DB2客户端里有
(大概位置是 in X:/Program Files/IBM/SQLLIB/BIN/netf11 )
参考地址
http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp?topic=/com.ibm.db2.udb.dndp.doc/htm/frlrfIBMDataDB2DB2ConnectionClassTopic.htm
虽然没有完全测试完毕,,第二,三种方法,,我确认是必须安装DB2客户端才有办法使用
而且第三种,还必须版本足够高才能正常使用
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式