2013-04-24 67 views
-1

我有10个sql脚本躺在10个SVN网址上。如何从url执行sql脚本?

我想编写一个执行这10个svn sql脚本的sql脚本。

例如,http://svn/s1.sqlhttp://svn/s1.sq2,....

我想写一个SQL它确实像execute http://svn/s1.sqlexecute http://svn/s2.sql

我该怎么办呢?

+2

您需要编写一个程序来下载文件,逐行读取它们,将它们附加到内部并执行整个批次 – LuigiEdlCarno 2013-04-24 09:41:05

+0

@LuigiEdlCarno我无法直接在sql中执行此操作吗? – 2013-04-24 09:41:51

+3

不是我所知道的。如果你可以通过在你的浏览器中调用一个URL来执行SQL脚本,那么这将是一个巨大的安全漏洞。 – LuigiEdlCarno 2013-04-24 09:43:10

回答

0

可以使用sqlcmd

首先创建一个批处理文件并粘贴到该批处理文件下面的编码运行所有的.SQL文件:

sqlcmd -S ServerName -U Username -P password -i c:\s1.sql -o C:\s1.txt 
sqlcmd -S ServerName -U Username -P password -i c:\s2.sql -o C:\s2.txt 
sqlcmd -S ServerName -U Username -P password -i c:\s3.sql -o C:\s3.txt 
sqlcmd -S ServerName -U Username -P password -i c:\s4.sql -o C:\s4.txt 

从SQL Server执行批处理文件象下面这样。 。

EXEC master..xp_CMDShell 'c:filename.bat' 

您也可以参考运行批处理文件以下链接..

SQL SERVER – Running Batch File Using T-SQL – xp_cmdshell bat file

0

您需要编写一个下载文件的程序,逐行读取它们,将它们附加到内部并执行整个批处理。

这将是一个巨大的安全漏洞,如果您可以通过在浏览器中调用url来执行SQL脚本。