有点弱智的问题,谁能帮我解释一下啊?有关asp连接sql(100分)

  • 主题发起人 主题发起人 hqiang
  • 开始时间 开始时间
H

hqiang

Unregistered / Unconfirmed
GUEST, unregistred user!
本人第一次使用asp连接sql server2000数据库,使用连接字如下:
dim conn
dim connstr
connstr="driver={SQL Server};server=zjjh;uid=sar;pwd=12345;database=sbd"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
可是浏览器显示如下错误:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
/sql_test/articleconn.asp, 第 10 行
第10行是conn.open connstr
就不知道问题出在哪了,哪位大侠知道往告知,谢谢
 
连接字符串的问题,检查一下
 
格式没有错误,可能是用户没有权限。 ( uid=sar 是否为 uid=sa 之误?)
在服务器上用Query Analyzer看能否登陆,不能登陆的可能原因是: 默认协议为 Named Pipe
时是否有权限; zjjh服务器名是否能解析等。 建议改用默认tcp/ip协议。
另外, OLE DB for ODBC速度较慢,应该改用OLEDB本身的驱动程序,这么写:
"Provider=SQLOLEDB.1;User ID=sa;Password=12345;Persist Security Info=True;Data Source=zjjh"
 
建议采用楼上的方法,否则,通过ODBC实际上调用的也是OLE DB ,还不如直接用ADO来得更好些
 
conn.open "Provider=MSDASQL.1;Persist Security Info=False;User ID=sar;Data Source=sbd;Initial Catalog=sbd","sar","12345"
用ODBC连接,这个可以,后面两个引号引起来是用户名和密码,Data Source是数据源名称;
我就是用这个连接起来的。
 
使用dao的方法我基本清楚,问题我还想知道使用odbc的时候我的问题出在哪里
sql server设定的是交叉验证,用户名没有问题的
 
觉得你的服务器名的问题。
如果是本机的,使用local,如果是别机的,使用IP,建议不要用计算机名,
用起来很痛苦。
完整的用法:
Set Conn = Server.CreateObject("ADODB.Connection")
connstr="driver={SQL Server};server=(local);UID=sa;PWD=123;database=master"
Conn.Open(connstr)
当然,其它朋友说的,用户权限对于具体的库也重要,至于密码,我想你不会写错吧:)
=====================================
刚才忘记加双引号了,特此更正
 
多人接受答案了。
 
后退
顶部