我一直在到处寻找答案,但我将描述的问题没有成功。
我有一个经常手动更新的 Excel 工作表。我被要求以实时的方式将每一行更改推送到 Sql Server 中。我需要用户能够通过按下保存按钮将一行保存到服务器。
在 SSMS 中,我已经能够使用 OPENROWSET 从服务器读取数据,例如:
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;HDR=YES;Database=C:\tmp\test2.xlsm',
'SELECT * FROM [myrng]');
我还能够将数据从 Excel 插入到 SQL Server:
Insert into NEWDB.dbo.master
Select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel
12.0;HDR=YES;Database=C:\tmp\test2.xlsm','SELECT * FROM [myrng]')
当我尝试在 Excel 文件仍打开的情况下将数据查询、插入或更新回服务器时,就会出现问题。
我最终打算做的是构建一个向导应用程序来填充一个 Excel 表,在该过程结束时可以将其提交到相应的 SQL Server 表。
到目前为止,我一直在玩 VBA 和 ADO,但没有成功,有人建议我使用 DTS 或 SSIS,但我需要 Excel 文件一直保持打开状态。
在此先感谢,罗德里戈。