今天要用Excel导入 mssqlserver 2008(x64)数据库数据。
@strExcelSheetName 为EXCEL中单元薄的列名
SET @strExcelPath = '''Microsoft.JET.OLEDB.4.0'',''Data Source="' + @strExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0''' 'SELECT ' + @strExcelFiled +' INTO ##Temp FROM OpenDataSource('+ @strExcelPath +')...'+ @strExcelSheetName +'$ '
执行以后出现
因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
的错误。 需要下载一个最新的驱动
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
的错误。解决方法:
服务器对象-->链接服务器-->Microsoft.Jet.OLEDB.4.0-->右键属性-->允许进程内 勾上即可