declare @err int,@obj int,@out int,@src varchar(4000),@desc varchar(4000)exec @err=sp_oacreate 'adodb.connection',@obj outexec @err=sp_oamethod @obj,'open',null,
'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES;DATABASE=R:\SQL_Data\aa.xls"'exec @err=sp_oamethod @obj,'execute',@out out,'create table [地区资料]([a] text(100))'
--32位下正常
--64位下报错未,找到提供程序。该程序可能未正确安装。用邹老大的语句改了改.才发现64位下没有Microsoft.Jet.OLEDB.4.0的驱动了
如果一定要在64位下用SQL语句来实现创建EXECL  文档,应该怎么办呢?

解决方案 »

  1.   

    在 64 位计算机上,Integration Services 会安装 64 位版本的 SQL Server 导入和导出向导 (DTSWizard.exe)。但是,有些数据源(如 Access 或 Excel)只提供 32 位提供程序。若要使用这些数据源,您可能需要安装并运行 32 位版本的向导。若要安装 32 位版本的向导,请在安装过程中选择“客户端工具”或 Business Intelligence Development Studio。
      

  2.   

    改用Microsoft.ACE.OLEDB.12.0试试。下载地址http://www.microsoft.com/downloads/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en:
     “Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file” 
      

  3.   

    这是支持到Office2010的,驱动支持64位版本的操作系统。
    http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=zh-cn
    系统要求
    支持的操作系统: Windows 7; Windows Server 2003; Windows Server 2003 Service Pack 1; Windows Server 2003 Service Pack 2; Windows Server 2008 R2; Windows Server 2008 Service Pack 2; Windows Vista Service Pack 1; Windows XP Service Pack 2
    在 Windows XP Service Pack 3 上只能使用 32 位 Access 数据库引擎 
     返回页首说明
    安装此下载: 
    1.通过单击“下载”按钮并将文件保存到硬盘上来下载文件。 
    2.双击硬盘上的 AccessDatabaseEngine.exe 程序文件以启动安装程序。 
    3.按照屏幕上的说明完成安装。 
    使用此下载: 
    1.如果您是应用程序用户,请查阅应用程序文档以获得有关如何使用相应驱动程序的详细信息。 
    2.如果您是使用 OLEDB 的应用程序开发人员,请将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.14.0”◦如果要连接到 Microsoft Office Excel 数据,请将“Excel 14.0”添加到 OLEDB 连接字符串的扩展属性中。 
    3.如果您是使用 ODBC 连接到 Microsoft Office Access 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
    4.如果您是使用 ODBC 连接到 Microsoft Office Excel 数据的应用程序开发人员,请将连接字符串设置为“Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”
    删除此下载: 要删除下载文件本身,请删除文件 AccessDatabaseEngine.exe
    1.在“开始”菜单上,指向“设置”,然后单击“控制面板”。 
    2.双击“添加/删除程序”。 
    3.在“当前安装的程序”列表中,选择“Microsoft Access Database Engine 2010”,然后单击“删除”或“添加/删除”。 如果出现对话框,请按照相应说明删除该程序。 
    4.单击“是”或“确定”,以确认要删除该程序。 
      

  4.   

    试了一样的错误,另外我的OFFICE 还是2003呢,没有到2007,哈哈.
    用 轻骑兵 方法估计可以,不过得改服务器配置了,有点头疼
      

  5.   

    装了新引擎后支持所有EXCEL的版本。主要是64位版本是否有JET的引擎驱动?
      

  6.   

    没有就安装一个新的Microsoft.ACE.OLEDB.14.0的引擎文件(链接中有两个下载文件,1个是32位的,1个是64位的。
      

  7.   

    [sql server][office] 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 
    http://blog.csdn.net/xys_777/archive/2010/07/14/5734715.aspx