我写了一个view , 
SELECT *
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source=
"D:\wsort\CZ_WaferSortPerf.mdb";User ID=;Password=;')...tWafersort_view Rowset_1
显示正确,
然后,我想用DTS 将其中数据传到其他表里,但当数据转换匹配时, 系统提示:
Error Source : Microsoft OLE DB Provider for SQL Server
Error Descripsion : Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied. You must access this provider through a linked server.请问这是什莫原因?如何解决???急等!!!!!!!拜求!!!!!!!

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5245/5245362.xml?temp=.1077082據說是權限的問題
      

  2.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;327489
      

  3.   

    里面的建议是
    添加链接服务器选中
    不使用安全上下文建立链接
    例子里面给的只是改SQL Server OLE DB provider for both ODBC and for the SQL Server OLE DB provider权限
    修改注册表项添加DisallowAdHocAccess项
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL
    选择添加值 下面是相关项内容。
     Value name: DisallowAdHocAccess
       Data type:  REG_DWORD
       Radix:      Hex
       Value data: 1
    感觉太麻烦了,不成就用bcp吧,个人感觉那也不错:)
      

  4.   

    我在本机sqlserver2005上走了一遍。
    SELECT *
    FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Data Source=
    "D:\基建申报数据库.mdb";User ID=;Password=;')...基建申报数据库 Rowset_1
    正常运行
    运行导入导出时。
    右键导入。添加数据源为'Microsoft Access'
    文件'D:\基建申报数据库.mdb' 用户名admin
    此处有一“高级”选项卡,选中。在“高级”选项页中有访问权限,选择成Share Deny None
    然后一路下一步,导表可成功