2011-07-03 90 views
1

將Excel 2007與SQL Server 2008 R2一起使用時遇到了很多問題。通知Excel 2007有關SQL Server 2008 R2中數據庫的更改

我需要在兩個或多個工作簿之間共享數據,並且我想通過遠程服務器上的SQL數據庫(放置在SQL Server 2008 R2中)執行此操作。我將VBA與ADO和SQL Server Native Client OLE DB提供程序一起用作數據訪問提供程序。當一個客戶端將數據從Excel上傳到數據庫時,我希望SQL Server 2008 R2向其他工作簿發出有關數據庫已更改的信號,而我的問題是如何執行此操作?我可以在VBA中做到嗎?

我已經想出瞭如何在SQL Server 2008 R2中使用事件通知,但是我的問題又是如何通知Excel,而無需運行查詢Service Broker隊列中消息的宏,每30秒左右一次。就我所知,Excel 2007不支持多線程,而且由於我需要Excel來運行其他宏,所以它不是每隔30秒運行一次這些檢查的解決方案。

回答

0

實現此目的的方法實際上是通過Excel。而用戶/事件調用VBA是單線程的,Application.OnTime運行在獨立的線程。如果您希望即使在工作簿關閉的情況下也可以使用它,請考慮在客戶端使用服務。

發射了從Excel到SQL服務器的定時器調用遠比哄一個SQL Server注重客戶的工作簿更簡單,更便宜。

相關問題