导航:首页 > 程序命令 > sqlcmd命令

sqlcmd命令

发布时间:2023-04-24 22:35:12

❶ 如何使用sqlcmd在批处理脚本中执行SQL

使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;x0dx0a-S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定;x0dx0a-d db_name 数据库名字,必须的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 输入是简单的sql,不用文件,推荐用-Q,如果你执行完sqlcmd还需要执行别的动作的话;x0dx0a[ -W remove trailing spaces ] 删除多余的空格,结果会更紧凑。x0dx0a当我们在真正的脚本中执行sql时,通常需要传入和输出变量。x0dx0a传入变量比较简单,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a这个语句从test数据库的Investment表中选出investor等于x的所有行,注意到变量x被包含在${}中。x0dx0a然后用-v定义了x的值,'IBM'。x0dx0a-W确定输出的结果不包含多余的空格。x0dx0ax的值如果没有在sqlcmd中设定,系统会试图从别的地方去寻找,可能的地方包括,系统环境变量,用户环境变量,以及用在sqlcmd之前用set设定的变量值。x0dx0a如果你的数据里确实包含${},那么你并不希望进行变量的替换,使用-x选项可以禁止变量的替换。x0dx0a有些时候,你还希望能获得sql执行结果并保存到变量中。比如你们的日志系统每天都在产生日志文件,你要执行一个脚本来处理这些日志文件并存到数据库中。在处理之前,你必须读取数据库以确定上次处理到那一天了。你期望这样能解决你的问题:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但这样并不工作。因为sqlcmd并不提供输出变量。x0dx0a不过你可以这样做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a这样你就可以得到一个干干净净的数字,而不会包含列名和其他信息。x0dx0a接着你将上述结果导入到一个文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a现在到了最关键的一步,将文件的内容写入到变量里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明这个变量myvar的值需要用户输入;x0dx0a<1.txt表明从1.txt中读入而不是从其他地方读入。x0dx0a这样,我们就巧妙的把sql执行的结果写入到变量里了。

❷ 如何禁用SQL里的CMD命令

开始——程序——Microsoft SQL Server 2005——配置工具——SQL Server 外围应用配置器——点击功能外围应用配置器——在弹出的框的左边点击xp_cmdshell——在右边中把启用xp_cmdshell前的对勾去掉,点击应用就OK了。

阅读全文

与sqlcmd命令相关的资料

热点内容
程序员在厂里打工怎么样 浏览:807
泰安联想加密u盘哪里买 浏览:606
有什么单机听音乐的app 浏览:570
oppor11服务器地址 浏览:180
传统版布林线源码 浏览:738
app黑色是什么原因 浏览:611
王者荣耀如何说自己是程序员 浏览:734
安川7源码 浏览:593
用什么软件修改app数据 浏览:564
app里面都有什么 浏览:509
服务器8h是什么 浏览:993
源码修改对应的位置 浏览:116
赛车游戏源码价值几千 浏览:397
单片机rom只读吗 浏览:146
android服务器时间同步 浏览:27
燕碎也要溯源码吗 浏览:785
linuxsvn安装包 浏览:233
大龄程序员转行业 浏览:936
加密模式哪一种不容易破解 浏览:713
变压器厂程序员 浏览:222