枪火游侠最低配置:sql seaver数据库连接问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 00:25:53
我在本地调试SQL SEAVER数据库的连接和打开程序如下:
<%
conn=OpenConn("admin","5678","http://127.0.0.1/yytt/")
function OpenConn(userid,pass,servername)
connstring="Provider=SQLOLEDB.1;Password=" & pass & ";Persist Security Info=True;User ID=" & userid &";Data Source=" & servername
set conn=server.createobject("ADODB.Connection")
conn.open connstring
set OpenConn=conn
end function

strsql="select * from texts"
rs.open strsql,conn,1,1
%>

我不明白的是:
1、这段代码有没有错,如果有,错在哪里?
2、用户名究竟是哪一个用户名,是不是操作系统的登录名。如果不是,那应该怎么设置呢?
3、我登录没有设置密码,如果不是操作系统进入的密码,应该在哪里设置的?
4、服务器是不是如我所设的这个名称(IIS的),如果不是,在哪里找得到?我在SQL服务器中找到一个服务器是OEM-WINDOWSXP,但也不行。

我是SQL初学者,找不到相关的资料,希望解答得详细点,先谢了。
问题还没有解决!我登录本机SQL SERVER数据库无需输入用户名和密码,可是我将代码改为:
inc.asp
<%
conn=OpenConn("","","127.0.0.1")
function OpenConn(userid,pass,servername)
connstring="Provider=SQLOLEDB.1;Password=" & pass & ";Persist Security Info=True;User ID=" & userid &";Data Source=" & servername
set conn=server.createobject("ADODB.Connection")
conn.open connstring
set OpenConn=conn
end function
%>

则显示如下出错信息.怎么解决.
Microsoft OLE DB Provider for SQL Server (0x80004005)
无效的授权说明
inc.asp, 第 6 行

看你提的问题好像还蛮复杂的.不过其实这是很简单的,连接不了只不过是你没有摸到路子:
一、SQL SERVER服务器登陆不是WINDOWS的登陆,它是打开“企业管理器”后,注册一个SQL服务器组时要求录入的权限密码中录入的,登陆时就是用的那个用户名和密码。你在连接代码中加入即可。
二、“服务器”名是打开“SQL服务管理器”中的“服务器“名,这在屏幕的右下角。
三、“数据库名”是你在企业管理器中增加的那个数据库的名称。
四、数据库连接代码可参考如下:
<%
on error resume next
connstr = "DRIVER=SQL Server; SERVER=服务器名; UID=用户名; password=密码; DATABASE=数据库名;"
set conn=server.createobject("ADODB.CONNECTION")
set rs=server.createobject("adodb.recordset")
conn.open connstr
%>

Provider=SQLOLEDB.1
你的数据库是不是2005的
如果是的话,2005默认是不允许远程登陆的
虽然你是在本机,但你走的应该是iis服务器如果不用windows集成验证还应该算本机的,在查询分析器里把允许远程登陆选上就行了
如果是2000的话
我的这段代码是肯定可以运行的
<%
Dim cn,rs
Dim mySql
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
cn.Open "Driver={SQL Server};Server=127.0.0.1;Database=test;" & _
"UID=sa;PWD="
rs.Open "SELECT * FROM info",cn
%>

你sql登陆的时候没有登陆角色
正常mssql里面默认最高权限的角色是“SA”,这个要看你安装的时候是怎么设定的。密码也是这样
如果你希望以window身份登陆sql就需要使用一个ODBC源,这样可以跳过sql的密码验证,但是这样的坏处太多,非常不推荐使用

function OpenConn(userid,pass,servername)
connstring="Provider=SQLOLEDB;uid=" & userid & ";pwd=" & pass & "; server=" & servername & ";database=master;"
set conn=server.createobject("ADODB.Connection")
conn.open connstring
set OpenConn=conn
end function

你的代码没有错,只是没有指定打开的数据库是哪个,所以你的代码只是和SQL server建立了联接但没有联到数据库中,所以执行SQL 不能返回正确的结果。
?用户名究竟是哪一个用户名,是不是操作系统的登录名。如果不是,那应该怎么设置呢?
用户名是登陆SQL 服务器的用户名,看你SQL 服务器如设置的了,通常有两种,一种是Windows登陆,另一种是用SA登陆

如果你使用IP连接的话ConnectionString应该写有端口号的!

Provider=sqloledb;Data Source=127.0.0.1,1433;Initial Catalog=pubs;User ID=sa;Password=????;

1433是SQL的默认端口也可以省略,如果你有修改过就改成你对应修改的端口!

其实如果就是本地连接的话
Provider=sqloledb;Data Source=.;Initial Catalog=pubs;Integrated Security=SSPI
这样很方便,免去了用户名密码,采用本地信任连接!

你把SQL SERVER数据库重装一下吧,那时记得设用户名跟密码。
可以把SQL SERVER中你建的数据库先备份出来.