正如不言自明的问题所描述的那样,我遇到了以下情况:-
- 一旦用户执行 SP,他应该得到一个选择窗口来从他的机器中选择任何所需的 Excel 表。
- 选择此选项后,应将整个 Excel 工作表数据导入表中。
要求很简单。但障碍是旧版本的 SQL 即 2000。
有什么建议吗?
作为对@MAT的回应:-我尝试做的许多事情之一是使用OPENROWSET:-
SELECT *
INTO demoTable
FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0'
,'Excel 8.0;Database=C:\Work\Reports\CustomerRecords.xls'
,'SELECT * FROM [Sheet1$]'
)
这引发了错误:-
对 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”的临时访问已被拒绝。您必须通过链接服务器访问此提供程序。
据我了解,这是一个与访问相关的问题。所以为了解决这个问题,我这样做了:-
打开 regedit.exe 并导航到 \Software\Microsoft\Microsoft SQL Server\Providers\Microsoft.Jet.OLEDB.4.0 并创建一个名为 DisallowAdhocAccess 且值为 0 的 DWORD。
但这也不起作用,因为在创建新的 DWORD 时,它会抛出错误:-
错误创建值 - 无法创建值:写入注册表时出错。