私はどこでも答えを探していましたが、ここで説明する問題に対する成功はありませんでした。
手動で頻繁に更新される 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 ファイルを開いたままサーバーにデータをクエリ、挿入、または更新しようとすると発生します。
私が最終的に計画しているのは、プロセスの最後に対応する SQL Server テーブルに送信できる Excel テーブルに入力するウィザード アプリを構築することです。
私は今のところ VBA と ADO で遊んでいますが、成功していません。DTS または SSIS を使用するように提案されましたが、Excel ファイルを常に開いたままにしておく必要があります。
前もってありがとう、ロドリゴ。