我正在迁移一堆站点,每个站点都使用 Access 数据库(或任何 MDB 文件)。如果我尝试加载网站,我会收到以下错误:
Microsoft OLE DB Provider for SQL Server error '80004005'
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied
如果我重命名 MDB 文件,我会抱怨该文件不存在,这是有道理的。如果文件命名正确,站点会尝试加载大约 30 秒左右,然后就会失败并显示上述消息。在这段等待期间,我可以看到正在创建一个锁定文件(然后在某个时候被删除)。MDB 文件及其父目录具有授予所有用户的完全权限。鉴于锁定文件已成功创建和删除,我不认为这是一个“真正的”权限问题。
操作系统是 Windows Server 2003 SP2。我不确定它的配置 wrt Access 数据库的更多细节。我也不知道它应该是什么版本。
有问题的VB代码:
set oConn=server.createobject("adodb.connection")
DSNtemp="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\fullPathGoesHere\db\sitedb.mdb"
oConn.Open DSNtemp
尽管您的代码似乎正在使用 Jet OLE DB 提供程序,但错误消息中提到了用于 SQL Server 的 OLE DB 提供程序。确保您确实在使用 Jet Provider。
也许网站代码的另一部分正在尝试访问 SQL Server 数据库?检查进行 SQL Server 数据库调用的包含文件(看起来该站点可能使用 ASP)。