当前位置: 代码迷 >> DB2 >> ASP.NET连接db2的有关问题
  详细解决方案

ASP.NET连接db2的有关问题

热度:7780   发布时间:2013-02-26 00:00:00.0
ASP.NET连接db2的问题
using IBM.Data.DB2; 
public DataSet dbDataSet(string strSQL, string strConnection) 
  { 
  DataSet dsData; 
  DB2Connection cnnData; 
  DB2DataAdapter dapData; 

  dsData = new DataSet(); 
  cnnData = new DB2Connection(strConnection); 
  dapData = new DB2DataAdapter(strSQL, cnnData); 

  try 
  { 
  dapData.Fill(dsData); 

  dapData.Dispose(); 

  cnnData.Close(); 
  } 
  catch (Exception e) 
  { 
  Console.WriteLine(e.ToString()); 
  Console.WriteLine("数据保存失败,请联系数据库管理员!"); 
  } 

  return dsData; 
  } 

这个是我的连接语句~ 
在 dapData.Fill(dtData);时 
提示错误是ERROR [] [IBM] SQL1092N "ASPNET" 没有执行所请求的命令的权限。 
是不是ASP.NET设置上的问题?因为我用vs2005自带的环境是可以运行的

求专家帮助~~另外用odbc连接同样报告"ASPNET" 没有执行所请求的命令的权限。

是否是db2设置用户权限上的问题?如果是的话应该如何


------解决方案--------------------------------------------------------
没有看到你的连接字串:试试下面方法
转:
第一种方法:using System.Data.Odbc;
driver={IBM DB2 ODBC DRIVER};Database=DB;hostname=QTT;port=50000;protocol=TCPIP; uid=db2admin; pwd=123";
//定一个连接类DB
using System.Data.Odbc;
public static OdbcConnection Odbccreate()
{
return new OdbcConnection("driver={IBM DB2 ODBC DRIVER};Database=DB;hostname=QTT;port=50000;protocol=TCPIP; uid=db2admin; pwd=123";");
}
//另外建一个窗口
using System.Data.Odbc;
OdbcConnection conn=DB.Odbccreate();
string sql="select * from QTT.User";
OdbcCommand cmd=new OdbcCommand(sql,conn);

第二种方法:添加一个引用IBM.Data.DB2
using IBM.Data.DB2;
DB2Connection("Database=DB;uid=db2admin;pwd=123;");
例子:
//定一个连接类DB
using IBM.Data.DB2;
public static DB2Connection DB2create()
{
return new DB2Connection("Database=DB;uid=db2admin;pwd=123;");
}
//另外建一个窗口
using IBM.Data.DB2;
DB2Connection conn=DB.DB2create();
string sql="select * from QTT.User";
DB2Command cmd=new DB2Command(sql,conn);

第三种方法:在Web.config里连接,使用Odbc连接。
<appSettings>
<add key="ConnectionString" value="driver={IBM DB2 ODBC DRIVER};Database=DB;hostname=QTT;port=50000;protocol=TCPIP; uid=db2admin; pwd=123"/>
</appSettings>
//定义一个连接类DB
using System.Data.Odbc;
public static OdbcConnection odbccreate()
{
return new OdbcConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);

}

第四种方法:在Web.config里连接,使用DB2连接。
<appSettings>
<add key="DB2Connection" value="Database=DB;uid=db2admin;pwd=123"></add>
</appSettings>
//定义一个连接类DB
using System.Data.Odbc;
public static OdbcConnection odbccreate()
{
return new OdbcConnection(System.Configuration.ConfigurationSettings.AppSettings["DB2Connection"]);

}
------解决方案--------------------------------------------------------
看起来像是用户权限的问题,注意"ASPNET" 没有执行所请求的命令的权限这个提示
winform程序运行在你当前登录的用户下,而asp.net一般运行在aspnet用户下

------解决方案--------------------------------------------------------
DB2安装在本机上还是服务器上?什么系统?是否在系统中给aspnet用户授予权限
  相关解决方案