从excel导入到sqlserver中出现如下问题 请帮忙
各位老大:
小弟在 从excel导入到sqlserver中出现如下问题 请帮忙:
我写的sql是:insert into tbl_IItest ( practitionerid,pracid)
SELECT practitionerid,pracid
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ',
'Data Source= "C:\DuplicateIDCorrection.xls ";Extended properties=Excel 8.0;Persist Security Info=False ')...Sheet1$
出现的提示是:Server: Msg 7415, Level 16, State 1, Line 1
Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0 ' has been denied. You must access this provider through a linked server.
请问应该如何解决谢谢
[解决办法]
try:
创建一个名为 ExcelSource 的链接服务器,定义为 Microsoft Excel 电子表格 DistExcl.xls,然后创建一个映射以允许 SQL Server 登录 sa 使用 Excel 登录 Admin 连接到 ExcelSource,并且没有密码。
EXEC sp_addlinkedserver 'ExcelSource ',
'Jet 4.0 ',
'Microsoft.Jet.OLEDB.4.0 ',
'c:\MyData\DistExcl.xls ',
NULL,
'Excel 5.0 '
GO
EXEC sp_addlinkedsrvlogin 'ExcelSource ', 'false ', 'sa ', 'Admin ', NULL
--如果要查询其它机器的EXCEL文件
--将这里 'c:\MyData\DistExcl.xls '改为你本机共享出来的网络路径:例如\\T123\Inbox\DistExcl.xls
--返回在本地服务器上定义的链接服务列表
exec sp_linkedservers
--以后不再使用时删除链接服务器
exec sp_dropserver 'ExcelSource ', 'droplogins '
go