螞蟻空間

螞蟻空間

导航

WINDOWS 2003 上的SQL2005 使用OpenDataSource无法访问ACCESS95格式的数据库文件

因为SQL服务器调整,需要将原连接在SQL2000的数据源移至另一台SQL2005的服务器上
使用
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\95bill.mdb";User ID=Admin;Password=;Extended properties=')...Phone
无法访问,提示以下错误
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Cannot open database ''.  It may not be a database that your application recognizes, or the file may be corrupt.".
Msg 7303, Level 16, State 1, Line 3
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".

但是ACCESS的MDB文件是没问题的.
经过分析,原来是这台服务器上的MDAC不支持ACCESS95的文件,安装2.0的MDAC(在VS6的安装包中可以找到MDAC-TYPE.EXE)
即可解决此问题

然后,在程序中执行相关代码时出现如下错误
Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied. You must access this provider through a linked server.
注意:此错误是在程序员,但在SQL查询分析器上没有出现此错误.所以不是SQL上的不支持

原来,此问题是由于程序使用的SQL用户权限不足.提高适当的权限即可

posted on 2008-04-03 18:11  螞蟻  阅读(980)  评论(0编辑  收藏  举报