我正在迁移一组使用 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。我不确定有关 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
答案1
尽管您的代码似乎正在使用 Jet OLE DB 提供程序,但错误消息提到了 SQL Server 的 OLE DB 提供程序。确保您确实正在使用 Jet 提供程序。
答案2
也许网站代码的另一部分正在尝试访问 SQL Server 数据库?检查进行 SQL Server 数据库调用的包含文件(看起来该网站可能使用 ASP)。