如何解决这样的SQL Server 不存在或拒绝访问![500元现金找答案]

studaa 2008-02-16 09:48:31
如何解决这样的SQL Server 不存在或拒绝访问?我的问题同他的问题差不多.
http://topic.csdn.net/u/20070620/19/b299e240-71c7-4bc9-b3db-4f8911bf7251.html
求救:

我最近做了进2台DELL服务器,把网站WEB(windows 2003 x64)同数据库服务器(mssql2005 64)分别安在2台DELL的服务器上面.发布到服务器后,在使用过程中,程序一般正常正常,一段时间后会出现错误如下(生成页面文件更出现这个问题):
Microsoft OLE DB Provider for SQL Server 错误 '80004005 '
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。

急盼能得到高手指点。
我已经付了200元定金了,哪个高手帮我搞定,我再付300元,一共500元.
请高手联系QQ:75424679说明(CSDN的高手),手机13875303789 祝(谢谢高手,急!!!!!)
下面是项目地址.
http://prj.csdn.net/CodeAndProblemsInfo.aspx?pointid=85&Ck=ni8Uf79T8Eq
...全文
1563 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ainishiji1 2010-10-08
还是没得到我想要的,不过还是支持下


www.webf7.com
www.webf7.com.cn
www.677lzw.com
回复
9611122 2008-02-17
我来看看呀

Autd.net
QQ:37389402
MSN:service@autd.net
http://www.autd.net
http://www.autd.net/uk (英文)

回复
studaa 2008-02-16
在ASP程序报错后,再进入后台,又可以生成,但生成一会后,又出现这样的错误.
(在没有换服务器之前,程序正常),分析可能是WEB服务器的问题,asp程序或服务器设置.
服务器WEB windows 2003 x64的补丁都已经补了.数据库服务器打了mssql 2005 x64 sp2.
高手帮忙救命!!!
回复
一般出现这个错误,请按以下步骤检查:
、关闭防火墙,包括杀毒软件和xp系统的防火墙。

2、检查1433端口。

3、服务器端检查:服务器检查是否启用了命名管道;是否启用了 TCP/IP 协议等等。我们可以利用 SQL Server 自带的服务器网络使用工具来进行检查。

4、客户端检查:利用 SQL Server 自带的客户端网络使用工具来进行检查。

通过以上这些步骤的检查都没有问题。

然后再进一步分析:两台客户计算机中,只有一台计算机不能连接数据库,如果另外一台却没有问题,说明服务器端的配置应该是没有问题的。然后再对照运行正常的计算机的配置设置第三台计算机的配置问题依旧,通过ping各台计算机的ip地址都是没有问题的的话。那就ping服务器的计算机名称看看,看看是不是网络解析有问题。如果ping服务器的名称后发现网络名称重名。那么重新设置服务器的计算机名称就一切正常了。



回复
该错误是在 SQL 服务器不接受或不认可所提交的登录帐户及/或密码(使用标准安全性时),或者没有任何 Windows NT帐户映射到 SQL 帐户(使用集成安全性时)时,由 SQL 服务器生成的。

如果使用的是标准安全性,说明 SQL 帐户名和密码不正确。 请尝试使用系统管理员帐户和密码(UID= "SA",密码为空)。 这些必须在连接字符串行中定义, 因为 DSN 不存储用户名和密码。

如果使用的是集成安全性,则检查调用页面的 Windows NT 帐户,找出它所映射的目标帐户。

SQL 不允许 SQL 帐户名中有下划线。 如果某人把 Windows NT 帐户 IUSR_machinename 手动映射到一个同名的 SQL 帐户,就会失败。 请把所有包含下划线的帐户都映射为 SQL 中不包含下划线的帐户名。


当你页面不使用到SQL连接时,程序就正常显示,当设置到的时候就会出现错误
回复
1.错误信息(
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database
engine cannot open the file '(unknown)'. It is already opened exclusively
by another user, or you need permission to view its data.
原因:
这个错误发生在当IIS使用匿名帐号(通常是IUSR)时,该帐号在NT中对数据库所在的目录
没有正确的权限.(这就是为什么在Win95和PWS下没问题,因为win95根本就没有目录权限这一说)
检查文件和目录的权限. 确定你能够在该目录中有能够新建和删除临时文件的权限。
这些临时文件其实是数据库建立在同一个目录下的文件, 但是要注意的是,有可能这些文件
也可能建立在别的目录,例如 /Winnt.

使用NT的文件监视程序监视文件失败时到底是访问了什么目录。
这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com.

如果你对数据库使用了一个网络地址,例如映射地址,就要检查一下共享文件和目录的权限,

还要检查一下数据源文件(DSN)是否被别的程序标志成为正在使用中,
这些别的程序一般是Visual InterDev,关闭任何一个InterDev中的正打开和数据库连接的项目。

这个错误还可能发生在这种情况:如果在DSN中使用了一个UNC路径(就是通用命名协议),请改用
本地路径进行测试,因为如果对本地数据库使用UNC也可能出错。
还可能发生在这种情况,如果服务器要访问Access中的一个表,而这个表却联接在一个网络服务器上。

2.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
原因:
多人使用时数据库被锁定。

3.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default
driver specified.
原因:
最可能的原因是ConnectString是一个在global.asa中初始化的Session变量,但是global.asa
却没有正常工作。解决办法是,检查赋值时是否正确:(在你的asp中加入下面的代码)
<%= "'auth_user' is " & request.servervariables("auth_user")%>
<P>
<%= "'auth_type' is " & request.servervariables("auth_type")%>
<P>
<%= "connection string is " & session("your_connectionstring")%>
<P>
还有一个原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSN; Database = Pubs;
试试改成下面这个样子:
DSN=MyDSN;Database=Pubs;

如果是global.asa还没有工作,检查该文件是否在运用程序的根目录中,或者是虚拟目录的根目录中。

还有可能错误出现的原因是DSN名称没找着,这可以采用我提供的id=36767的办法解决。
最后是检查是否安装了最新的驱动程序,既是否是最新的MDAC版本。

4.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not ??
原因:
这个错误有可能是出现在你的计算机上软件安装(或则反安装)的顺序上。
如果ODBC的版本不一致的话,就会发生该错误。
解决办法是安装最新版本的MDAC

5.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
registry key 'DriverId'.
原因:
这个错误发生在爱从注册表中读取数值的时候。 使用regedit32.exe检查你的注册表的权限。
你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。该程序到这找:http://www.sysinternals.com

6.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因:
两个原因:当一个数据库中包含有分别在不用机器上的许可关系时,
这也可能发生在同一台机器上,当你给一个关系设置了UNC路径,而另一个关系却是本地路径。
错误原因是:
当用户使用IIS匿名帐号登录后,对本地这台机器而言他是有权的,但是对于一个UNC路径的机器,
另外这台机器是不会认为你当前匿名登录的帐号在它那上面也是合法的。
这样它就不允许你访问它上面的资源,导致错误。

两个解决办法:
1。在IIS工具中,改变IIS匿名帐号成另外一个基于域的帐号。(也就是不使用匿名登录)
2。或则在那台你要访问资源的机器上也创建一个和当前匿名帐号同样的帐号,使用同样的密码。

7.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC
Microsoft SQL Driver] Logon Failed()
原因:
该错误是由SQL Server产生的,当它不接受或则不能够认识这个登录帐号的时候,或者没有使用管理员身份登录,
也可能是在NT中没有SQL影射帐号造成的。

使用系统管理员帐号(SA)登录,一般密码应该为空.注意,这时必须使用CoonectString而不能够使用DSN文件。
因为DSN中没有保存用户名和密码。
检查NT是否给SQL映射了帐号。

8.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason:
Not defined as a valid user of a trusted SQL Server connection.
原因:
原因同上。
试试这个办法:在SQL Server的Enterprise Manager中,选择Server/SQL Server/Configure[ASCII
133]/Security Options/Standard.
如果是运行在IIS4中,取消选择该项目的Password Synchronization选项。

9.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't lock file.
原因:
也许是没有正确的权限生成Access数据库的锁定文件(.ldb)
默认时,该文件和你的数据库是同一个目录的。
给匿名帐号全权访问数据库共享目录的权限。

有时是因为文件是因为共享时有意使用了只读的权限限制。试试使用下面的代码。
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeShareDenyWrite '8

10.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] '(unknown)' isn't a valid
path. Make sure that the path name is spelled correctly and that you are
connected to the server on which the file resides.
原因:
路径非法。最可能发生在当Global.asa和CoonecntString被使用到另外一台机器上的时候。

11.错误信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] The query and the views in
it exceed the limit of 16 tables.

原因:
查询太复杂了,对查询有限制。

12.错误信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][DBMSSOCN] General network error. Check
your network document
原因:
当装有SQL Server的机器改名的时候。但是DSN还使用了原来的机器名
回复
按我上面说的步骤去检查!!
大部分是设置的问题!
回复
wangnan521 2008-02-16
先一个一个排除,如果数据库程序没有问题,检查交换机 并且把网卡的最大值设置为最大(1000)M,在看下在访问不了数据库的时候能否ping通 数据库服务器 一点点检查 别着急 排除方法最好用了
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-02-16 09:48
社区公告
暂无公告