---[1000在线求解]---[急]关于连接出错的问题.

掐死温柔 2006-09-13 11:45:26
我用ASP.NET连接DB2数据库,用WinForm可以正常连接,用ASP.NET一OPEN就报错.连接语句如下:
string str = @"driver={IBM DB2 ODBC DRIVER};Database=dataName;hostname=hostName;port=50000;protocol=TCPIP; uid=db2admin; pwd=123";
OdbcConnection Conn = new OdbcConnection(str);
Conn.Open();

ERROR - 没有可用的错误信息

请问这是怎么回事啊?

相关贴子.
http://community.csdn.net/Expert/topic/5018/5018052.xml?temp=.4202997
...全文
364 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
etilm 2006-09-15
  • 打赏
  • 举报
回复
没有用过,帮UP,给点分
掐死温柔 2006-09-15
  • 打赏
  • 举报
回复
搞定,结贴.
cctaiyang 2006-09-15
  • 打赏
  • 举报
回复
搞定,接分!
掐死温柔 2006-09-14
  • 打赏
  • 举报
回复
问题还没有搞定,求高人相助.
szc21 2006-09-14
  • 打赏
  • 举报
回复
DB2没用过,期待高人!
掐死温柔 2006-09-14
  • 打赏
  • 举报
回复
自己UP一下
掐死温柔 2006-09-13
  • 打赏
  • 举报
回复
各位大大们,OPEN出错啊

我在WinForm里面可用,COPY到Web就不行.

“/WebApplication_1”应用程序中的服务器错误。

ERROR - 没有可用的错误信息
kbxj406 2006-09-13
  • 打赏
  • 举报
回复
顶上面的这个链接

lz快急疯了看来
Small__Wolf 2006-09-13
  • 打赏
  • 举报
回复
http://murky.cnblogs.com/archive/2006/07/06/443822.html#ibmdb2
Small__Wolf 2006-09-13
  • 打赏
  • 举报
回复
TCP/IP:
"Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW"


APPC:
"Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU Alias=MyRemote;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW"
cctaiyang 2006-09-13
  • 打赏
  • 举报
回复
用这个试试
Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW
cctaiyang 2006-09-13
  • 打赏
  • 举报
回复
IBM DB2
OLE DB, OleDbConnection (.NET) from ms

TCP/IP:

"Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW"

APPC:

"Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU Alias=MyRemote;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW"

IBM's OLE DB Provider (shipped with IBM DB2 UDB v7 or above)

TCP/IP:

Provider=IBMDADB2;Database=sample;HOSTNAME=db2host;PROTOCOL=TCPIP;PORT=50000;uid=myUserName;pwd=myPwd;

ODBC

Standard:

"driver={IBM DB2 ODBC DRIVER};Database=myDbName;hostname=myServerName;port=myPortNum;protocol=TCPIP; uid=myUserName; pwd=myPwd"
at20001 2006-09-13
  • 打赏
  • 举报
回复
看起来像是用户权限的问题,注意"ASPNET" 没有执行所请求的命令的权限这个提示
winform程序运行在你当前登录的用户下,而asp.net一般运行在aspnet用户下
掐死温柔 2006-09-13
  • 打赏
  • 举报
回复
ODBC和IBM.DATA.DB2都在WINFORM中可以正常使用,但一到WEB中就不行.

ODBC方法是提示:"ERROR - 没有可用的错误信息"
IBM.DATA.DB2提示:ERROR [] [IBM] SQL1092N "ASPNET" 没有执行所请求的命令的权限

哪位达人帮帮忙啊?
cctaiyang 2006-09-13
  • 打赏
  • 举报
回复
第一种方法: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"]);

}
myminimouse 2006-09-13
  • 打赏
  • 举报
回复
帮顶~~
cctaiyang 2006-09-13
  • 打赏
  • 举报
回复
试试这样写行不行
新建一个类DB:
using System.Odbc;//命名空间
//下面定义一个方法用来连接数据库
public static OdbcConnection create()
{
return new OdbcConnection("driver={IBM DB2 ODBC DRIVER};Database=DB;hostname=QTT;port=50000;protocol=TCPIP; uid=db2admin; pwd=123");

}
在其它页面调用连接
using System.Odbc;//命名空间
OdbcConnection conn=DB.create();//调用连接
string sql="SELECT * FROM QTT.USER";
OdbcCommand cmd=new OdbcCommand(sql,conn);
OdbcDataReader sdr=cmd.ExecuteReader();
掐死温柔 2006-09-13
  • 打赏
  • 举报
回复
所包含相关命名空间:
using System.Data;
using System.Data.Odbc;

主要代码:
private void Button1_Click(object sender, System.EventArgs e)
{
string str = "-1";
string strConn = @"driver={IBM DB2 ODBC DRIVER};Database=DataName;hostname=ComputeName;port=50000;protocol=TCPIP; uid=db2admin; pwd=123;";

OdbcConnection Conn = new OdbcConnection(strConn);
Conn.Open();
OdbcCommand Cmd = new OdbcCommand("select * from DIM_DATE_TEST WHERE DATE_ID='2001-01-01';",Conn);
str = Convert.ToString(Cmd.ExecuteScalar());
Label1.Text = str;
}

该代码运行到Conn.Open();出错.报错信息是:

ERROR - 没有可用的错误信息
掐死温柔 2006-09-13
  • 打赏
  • 举报
回复
UP

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧