c# 连接db2数据库,然后查询填充dataset问题。 急。。

全球车行网 全球车行网 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
急:::::::::

全部代码放上:
这个是调用和填充部分:
OleDbCommand cmd = new OleDbCommand();
DbDataAdapter dbDataAdapter = new OleDbDataAdapter();

//DataSet dataset1 = new DataSet();
//这里调用的是第二段代码:
dbDataAdapter = DataConn.newAdapter(sql);

//if (dbDataAdapter != null) dbDataAdapter.SelectCommand = cmd;
DataSet ds = new DataSet();
if (dbDataAdapter != null)
//执行到填充的时候报错了。错误信息如何:“IBMDADB2.DB2COPY1”失败,没有可用的错误消息,结果代码: //DB_E_OBJECTOPEN(0x80040E05)。
dbDataAdapter.Fill(ds);
获取dataadapter部分:
public static DbDataAdapter newAdapter(String sql)
{
switch (DBType)
{
case mDBType.dbDB2:
return new OleDbDataAdapter(sql, (OleDbConnection)getConnection());
case mDBType.dbOracle:
return new OracleDataAdapter(sql, (OracleConnection)getConnection());
case mDBType.dbSQLServer:
return new SqlDataAdapter(sql, (SqlConnection)getConnection());
default:
return null;
}
}

获取数据库连接部分:
public static DbConnection getConnection()
{
string provider = null;
DbConnection conn = null;
switch (DBType)
{
case mDBType.dbDB2:
provider = "Provider=IBMDADB2.DB2COPY1;Password="+ strPWD +";User ID="+ strUser +";Data Source=" +strDbName ;
conn = new OleDbConnection(provider);
break;
case mDBType.dbOracle:
provider = "Data Source=" + strDbName + ";Password = " + strPWD + "; User ID = " + strUser + ";";
conn = new OracleConnection(provider);
break;
case mDBType.dbSQLServer:
provider = "server=" + strServer + ";Initial Catalog=" + strDbName + ";User Id=" + strUser + ";Password=" + strPWD + ";Max Pool Size = 5;Connect Timeout=5";
conn = new SqlConnection(provider);
break;
default:
return conn;
}
if (conn != null)
{
conn.Open();
}
return conn;
}
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
全球车行网
C# 111,128 成员 642,537 内容