首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqlcmd批处理脚本

Sqlcmd批处理脚本
EN

Stack Overflow用户
提问于 2012-12-13 21:31:09
回答 1查看 429关注 0票数 1

在我的sqlserver项目中,在不同的文件夹中有许多.sql文件,比如

C:\username\EtlcontrolDB\scrip1.sql.........script10.sql

C:\username\configuration\scrip1.sql.........script10.sql

C:\用户名\认为...........................

我的客户要求是,上面的文件夹包含sql文件通过单个批处理脚本执行。和sql文件名和文件路径输入从.txt文件和C:\用户名这将是不同的每个用户,保持路径是相似的所有用户,而且我想执行一些文件夹完全和一些文件夹特定的sql文件。

有人能帮我解决这个问题吗?先谢谢你...

EN

回答 1

Stack Overflow用户

发布于 2014-04-26 22:07:14

仅使用sqlcmd是无法做到这一点的。

您必须使用python等语言编写批处理脚本,以便为存储在指定目录中的每个.sql文件调用sqlcmd。下面是一个用Python编写的示例(未经测试!):

代码语言:javascript
复制
import subprocess
from os import listdir
from os.path import isfile, join

def main():
    onlyfiles = [ f for f in listdir('C:\username\EtlcontrolDB\') if isfile(join('C:\username\EtlcontrolDB\',f)) ]
    for f in onlyfiles:
        sqlcmd(f)

def sqlcmd( file ):
    query = open(file).read()
    sqlcommand = 'sqlcmd -Q ' + query + ' -S "Myserver" -U UserName -P Password'
    subprocess.call(sqlcommand)

main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13860892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档