日期:2014-05-18  浏览次数:20378 次

在线求教!SQL Server 不存在或拒绝访问,本地机器上出现这样的问题。懂得请进!查阅了不少帖子啦,所以让查别人帖子的就免了。
我一共两个文件 
一个conn。asp 

----------------------------------- 

<%Set conn=Server.CreateObject("Adodb.Connection") 
  Conn.Open("Provider=Sqloledb;Server=localhost;DataBase=datasourse/data1.mdf;Uid=sa;Pwd=zz123") 
  If Err Then 
  Err.Clear 
  Response.Write "对不起,数据连接错误!" 
  Response.End 
  End If 
set rs=server.CreateObject("adodb.recordset") 
%>

------------------------------ 
一个是index。asp 

-------------------------------------------- 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 
<!--#include file="conn.asp"--> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>列表 </title> 
</head> 

<body> 
</body> 
</html> 
------------------------------------------ 

运行index.asp时候出错: 
Microsoft OLE DB Provider for SQL Server (0x80004005)
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。
/sqlweb/conn.asp, 第 2 行

.........请教:
1 DataBase=datasourse/data1.mdf ,这种写法对吗?我的数据库在conn.asp文件同目录下的datasourse文件夹下,主文件为data1.mdf
2 我是本地测试,系统xp,数据库sql2005
3 在网络服务器上的sql数据文件是和网站文件是分开的吗?然后database='IP地址'来访问的吗?
4 请帮忙解决一下这个问题。
我分不是很多,但是分就是用来解决问题的。花100分学习解决一个问题,值!希望拷贝别人帖子内容的不要顶贴了,因为一个帖子顶贴太多,别人再看到的时候很可能认为该问题已经解决,再进来没有什么意思。谢谢各位啦,我在线等候,如果我的问题不清楚,请直接发问,我一分钟刷新一次,看到问题就答,问题解决就结贴。不解决不睡觉!谢谢,再次谢谢!

------解决方案--------------------
使用ASP连接SQL2000数据库,常用的多的是下面这种连接字符串:

Provider=SQLOLEDB.1 数据库提供者,后面的1 表示版本信息,如果无就会使用当前最新版功能
User ID=SQL帐号 数据库的用户帐号
Password=SQL帐号密码 数据库的帐号密码
Initial Catalog=数据库名字 要连接的数据库名,
Data Source=数据源 SQL服务器主机名HostName 或其IP或本地 (local)

上五个参数缺一不可

以下可选:
Connect Timeout=连接超时,是整数,缺省是30秒
Persist Security Info= true or false 

所以常用的连接就是这个样的:
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open"Provider=sqloledb;user id=sa;password=sa;initial catalog=fish;data source=127.0.0."&SQLServerName&";"


再完整些:
<% 
'================填写数据库具体参数============
SQLServerName = "127.0.0.1" 'IP地址 
SQLDBUserName = "sa" '帐号 
SQLDBPassword = "sa" '密码 
SQLDBName = "fish" '数据库 
'===================数据库连接================== 
On Error Resume Next '容错声明 
response.buffer=true 
Set conn = Server.CreateObject("ADODB.Connection") 
conn.Open"Provider=sqloledb;user id="&SQLDBUserName&";password="&SQLDBPassword&";initial catalog="&SQLDBName&";data source="&SQLServerName&";" 
If Err Then 
err.Clear 
Set Conn = Nothing 
Response.Write "数据库连接出错,请检查连接字串。" 
Response.End 
End If 
'============结束程序========================= 
%>


------解决方案--------------------
另外如果你是远程连接的话,要把1433端口打开.

SQL Server 2005 远程连接

配置TCP/IP属性. 
Surface Area Confi