Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 通知Excel 2007有关SQL Server 2008 R2中数据库的更改_Sql Server 2008_Excel_Ado_Sql Server Native Client_Vba - Fatal编程技术网

Sql server 2008 通知Excel 2007有关SQL Server 2008 R2中数据库的更改

Sql server 2008 通知Excel 2007有关SQL Server 2008 R2中数据库的更改,sql-server-2008,excel,ado,sql-server-native-client,vba,Sql Server 2008,Excel,Ado,Sql Server Native Client,Vba,我在使用Excel2007和SQLServer2008R2时遇到很多问题 我需要在两个或多个工作簿之间共享数据,我希望通过远程服务器上的SQL数据库(位于SQL Server 2008 R2中)来实现这一点。我使用VBA和ADO以及SQLServer本机客户端OLE DB提供程序作为数据访问提供程序。当一个客户端将数据从Excel上传到数据库时,我希望SQL Server 2008 R2向其他工作簿发出一个信号,表明数据库已更改,我的问题是如何做到这一点?我可以用VBA做吗 我已经知道如何在SQ

我在使用Excel2007和SQLServer2008R2时遇到很多问题

我需要在两个或多个工作簿之间共享数据,我希望通过远程服务器上的SQL数据库(位于SQL Server 2008 R2中)来实现这一点。我使用VBA和ADO以及SQLServer本机客户端OLE DB提供程序作为数据访问提供程序。当一个客户端将数据从Excel上传到数据库时,我希望SQL Server 2008 R2向其他工作簿发出一个信号,表明数据库已更改,我的问题是如何做到这一点?我可以用VBA做吗


我已经知道如何在SQLServer2008R2中使用事件通知,但我的问题是如何通知Excel,而不运行每隔30秒左右查询ServiceBroker队列中消息的宏。我知道Excel2007不支持多线程,而且我还需要Excel来运行其他宏,所以每隔30秒运行一次这些检查并不是一个解决方案

实现这一点的方法实际上是通过Excel。当用户/事件调用的VBA是单线程时,
Application.OnTime
在独立线程中运行。如果您希望它在工作簿关闭时发生,请考虑在客户端使用服务。p> 从Excel向SQL server发出计时器调用要比诱使SQL server关注客户机工作簿简单得多,成本也低得多