2009-12-03 42 views
0

我正在构建一个用作参考库的Access数据库。我想使用Access数据库中的链接在不同的数据库中执行SQL查询。目前,当我单击Access超链接时,它尝试运行SQL ServerManagemenrt Studio,但随后发生错误,“操作无法完成”。我还尝试使用Access超链接打开包含SQL查询的文件夹,以便可以双击SQL来运行它。该文件夹将打开,但当我尝试从该文件夹运行SQL时会出现相同的错误消息。很明显,由于包含SQL的SQL或文件夹被MS Access打开而发生了一些事情。任何建议可以做什么?如何从MS Access链接启动外部SQL

+1

这将是更好,如果你能告诉我们你想解决什么问题,因为它听起来像解决问题的方式可能会比你所建议的更好。 – 2009-12-03 18:44:44

+0

您是否使用MDB中的ODBC链接表?或者它是一个ADP?它们可以让你做你想做的事情,但是对于不同类型的SQL操作有不同程度的简易/效率。 – 2009-12-04 03:57:26

回答

0

由于SQL Server Management Studio正在打开,您试图执行的是这些.sql文本文件吗?

可以通过运行此命令行执行包含在文件中的T-SQL脚本:

SQLCMD -S SQL_SERVER_NAME -d DATABASE_NAME -E -I -i "C:\QueryFile.sql" >> ResultBatch.txt 

结果发送给哪个将在同一文件夹中的sql文件的文件ResultBatch.txt 。

所有的脚本文件夹中创建一个批处理文件,这将执行所有的人:

for %%X in (*.SQL) do SQLCMD -S SERVER_NAME-d DATABASE_NAME -E -I -i "%%X" >> ResultBatch.txt 
+0

是的,他们是* .sql文件。我们通常从文件管理器中双击它们来打开并运行它们。其目的是从MS Access打开并运行它们,从而节省了通过各级文件夹进行步枪射击的需求。我正在使用标准插入超链接到表单来链接到* .sql。 – 2009-12-04 15:23:31

+0

我添加了额外的代码,您可以将其放在.bat文件中的任何包含.sql文件的文件夹中,并且它会执行所有这些代码并仍然将结果发送到文本文件。 – JeffO 2009-12-04 16:52:09