如何使用批处理文件运行选择语句?

发布于 2024-11-17 18:51:21 字数 255 浏览 2 评论 0原文

我需要使用批处理文件查询sql server 数据库。我将这些命令行放入批处理文件中。当我运行批处理文件时。建立可信连接后光标停留在那里。

OSQL -E 
use db1
SELECT count(*) FROM table_01 t1 
left join table_02 t2 on t1.tableID = t2.tableID 
WHERE t1.Date < '20110724' 
Go

请问有什么建议吗?

I need to query sql server database using batch file. I put these cmdlines in the batch file. When I run the batch file. Cursor stays there after making trusted connection.

OSQL -E 
use db1
SELECT count(*) FROM table_01 t1 
left join table_02 t2 on t1.tableID = t2.tableID 
WHERE t1.Date < '20110724' 
Go

Any suggestions please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天生の放荡 2024-11-24 18:51:21

我是这样做的。

首先,构建所需的 SQL 脚本,并将其存储为简单的文本文件。

接下来,使用 SQLCMD(或 OSQL 或 ISQL)调用该文件,如下所示:

SQLCMD -S %1 -E -b -h-1 -I -d tempdb -i BulkDeploy.txt  > BulkDeploy_%DateString%.txt

其中:

  • S 指定 SQL 实例服务器(此处使用第一个批处理参数指定)
  • E 使用 NT 身份验证
  • b 如果 SQL 命中错误,返回一个批处理 ERRORLEVEL 可以拾取并处理的值
  • h-1 不返回标题行(如果返回数据集)
  • 我设置了 QUOTED_IDENTIFIER (这在我脸上爆炸了曾经,我忘记了如何或为什么,从那以后我就将它包括在内)
  • d 数据库连接到
  • 我执行以下脚本并在完成时退出
  • > >将任何输出定向到指定文件以进行后续处理

SQLCMD 等。等人。有很多参数,请在在线书籍中查看。可以通过批处理参数实现更多微妙之处。

Here's how I do it.

First, build the SQL script that you want, and store it as a simple text file.

Next, use SQLCMD (or OSQL or, perish the thought, ISQL) to call that file, something like so:

SQLCMD -S %1 -E -b -h-1 -I -d tempdb -i BulkDeploy.txt  > BulkDeploy_%DateString%.txt

Where:

  • S specifies the SQL instance server (here, specified with the first batch parameter)
  • E use NT authentication
  • b if SQL hits an error, return a value that the batch ERRORLEVEL can pick up and process
  • h-1 return no header rows (IF datasets are returned)
  • I set QUOTED_IDENTIFIER on (this blew up in my face once, I forget how or why, and I've included it ever since)
  • d database to connect to
  • i execute the following script and exit when done
  • > directs any output to the specified file for subsequent processing

SQLCMD et. al. have many parameters, check them out in Books Online. Further subtleties can be achieved with batch parameters.

东走西顾 2024-11-24 18:51:21

osql 具有简单的特点。

例如,我从 e:\backupdb.txt 运行 SQL 命令,

osql -S servername -U user -P password -i e:\backupdb.txt

它可以完成这项工作

osql has a simple fature.

For example I run an SQL command from e:\backupdb.txt with

osql -S servername -U user -P password -i e:\backupdb.txt

it does the job

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文