主题:  奇怪,asp程序不能正常运行

LS

职务:管理员
等级:12
金币:30.8
发贴:8074
注册:2004/1/11 10:31:05
#12001/10/10 4:48:27
服务器装有iis,本来运行很正常。
现在不知什么缘故,程序不能正常运行,信息是“Microsoft OLE DB Provider for ODBC Drivers (0x80004005),找到出错的行,好象是比较通常的mdb的数据库连接:g_Admentor_strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("/admentor/ad2000.mdb") &";DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5"

服务器上几个站点的mdb数据库都出现了问题,是动了什么地方的设置导致这样的情况出现?


5D艺术网站长。

5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:320
注册:2001/8/17 18:10:31
#22001/10/10 14:26:19
出现这种情况很常见,原因也很多。由于你没有给出更过的信息,我认为可能有几个原因。
1、因为 Internet Information Server (IIS) 所使用的帐户(通常是 IUSR)没有正确的 Windows NT 权限,因而无法访问基于文件的数据库或包含文件的文件夹,如果使用的是该数据库的网络路径(UNC 或映像驱动器),请检查共享、文件及文件夹上的权限,同时确认文件及数据源名 (DSN) 没有被标记为独占方式
2、还有可能是数据库无法正确地为多个用户锁定,原因是原因是因为 Global.asa 和 Global.asa 中初始化的连接字符串会话变量没有激发。
3、如果 ODBC 内核文件不同步(它们必须为同一版本),也会出现这样的错误。
4、在 SQL 服务器不接受或不认可所提交的登录帐户及/或密码(使用标准安全性时),或者没有任何 Windows NT 帐户映射到 SQL 帐户(使用集成安全性时)时,由 SQL 服务器生成的。
5、Web 服务器所读取的路径是无效路径。 当 Global.asa 文件正被使用,而连接字符串是 Web 服务器之外的另一台计算机上创建的时候,最容易发生这种错误。
此外,还有太多的原因,应该有一些英文提示的。别的原因还有查询过于复杂。 在查询中有过多的限制。“允许匿名用户”环境被关闭时,Windows NT 在第一个请求完成后要关闭与 SQL Server 连接的管道。 这是因为,第一个到 SQL Server 的连接是在 IIS 匿名用户帐户中建立的。 然后,IIS 或者选择在同一线程上模拟浏览器客户,或者尝试去访问运行于模拟用户环境中的其它线程上的连接。 无论是哪种情况,Windows NT 都会检测有没有谁试图使用某个已在其它用户环境中打开的网络命名管道句柄,并根据安全规则关闭该管道。 在 SQL Server 网络监视器看来,这是 Windows NT 发出的关闭命名管道的请求,从而引起 Web 浏览器出错。



5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:320
注册:2001/8/17 18:10:31
#32001/10/10 14:28:54
对了,你还可以使用NT的文件监视程序监视文件失败时到底是访问了什么目录,这样就可以查出哪个目录出了问题。
这个NT的文件监视程序可以在这个地方下载http://www.sysinternals.com



草茅山人

职务:普通成员
等级:1
金币:0.0
发贴:22
注册:2000/11/14 8:54:16
#42001/10/10 21:37:02
如果你装的是nt 4的话可以装个sp6a试试,我想你可能调试的程序导致的问题