问题标签 [sqlcmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
9255 浏览

sql-server - sql脚本变量默认值

我有一个脚本文件,例如 test.sql。我想使用 :r test.sql 在 sqlcmd 模式下从另一个脚本调用它,比如 caller.sql。这很好用,但我想在 test.sql 中使用脚本变量。当我从 caller.sql 调用 test.sql 时,我可以设置脚本变量,一切都很好。但是,我想为脚本值使用默认值,这样如果调用者没有设置变量,或者如果我直接运行 test.sql(不是来自 caller.sql),那么脚本变量默认为设置值。

我尝试过诸如

但我只收到以下消息:发生了致命的脚本错误。未定义可变夹点。

我在 test.sql 中需要什么,以便它可以处理调用者是否通过“grip”?我正在使用 MS SQL 2005

0 投票
3 回答
4049 浏览

sql-server-2008 - SQL Server 2008 - 使用 cmd 将标头输出到 .csv

我有一个非常简单的问题(这些问题通常是我大部分时间都在扯头发的问题)。我正在使用批处理文件来执行与批处理位于同一目录中的所有 .sql 查询,并将其所有结果保存到各种 .csv 文件中。

这是我的代码:

作为测试,我运行以下查询:

输出:

这工作正常,除了两件事。首先,我还需要输出列标题。所以我删除了“-h -1”参数,然后给出:

这很好,除了我不希望标题和第一行数据之间的水平规则“------”。

另外,我不希望输出“(受影响的 10 行)”行。

有人知道我怎么能做到这一点吗?

谢谢卡尔
_

0 投票
4 回答
51629 浏览

sql - 需要帮助编写执行 sql 脚本的 bat 文件(sql server 2008 和另外 3 个文件。?

我确信这些之前已经被问过,但找不到明确的说明如何创建批处理文件让我们称之为“更新数据库”这个批处理文件应该

执行位于不同文件夹中的 sql 脚本 执行另外 3 个 bat 文件。

任何快速示例如何做到这一点?以前从未做过非常感谢

已编辑

我可以这样做吗?

我收到一个错误:

“GO”未被识别为内部外部命令

感谢您的任何意见

0 投票
1 回答
46354 浏览

sql - 如何将参数传递给使用 sqlcmd 调用的 SQL Server 脚本?

是否可以将参数传递给 SQL Server 脚本?我有一个创建数据库的脚本。它是使用 sqlcmd 从批处理文件中调用的。该 SQL 脚本的一部分如下所示:

我希望能够传入数据库和日志的文件名,这样我就不必对“C:\dev\SAMPLE.mdf”和“C:\dev\SAMPLE_log.ldf”进行硬编码。

有没有办法做到这一点?我正在运行 Microsoft SQL Server 2008 Express。如果您需要更多信息,请告诉我。

0 投票
12 回答
48119 浏览

sql-server - 如何在 SQLCMD 中使用 TAB 作为列分隔符

SQLCMD 支持 -s 参数来指定列分隔符,但我不知道如何表示制表符 (CHAR(9)) 字符。我尝试了以下方法,但都不起作用:

任何想法如何在 SQLCMD 中执行此操作?

0 投票
1 回答
2390 浏览

sql - 批处理文件中的 SQLCMD - 强制所有输出到一个文件

我们有批处理文件来针对数据库编译文件夹中的所有 sql 脚本。问题是我们有几千个脚本,它为每个脚本生成一个输出文件。

这使得检查错误变得困难,并且需要做很多清理工作。有没有办法将所有结果输出到一个文件?

这是我们使用的脚本:

for %%f in (.sql) do sqlcmd -Sservername -i"%%f" -o"%%f.txt" -Uusername -Ppassword -ddatabasename

问候, 阿尔伯特

0 投票
1 回答
20139 浏览

sql-server - 使用 SQLCMD.EXE 导出 CSV 数据

我正在尝试将数据从 SQL Server 导出为 CSV 格式。我有一个定期运行的蝙蝠任务。命令是:

SQL 文件只是视图中的 SELECT *。

除了某些行在数据中有逗号之外,这有效,因此需要引用这些值。我可以将列分隔符更改为“','”,但是我还需要 SQL Server 来转义数据中的单引号。

不幸的是,将分隔符更改为另一个字符不太可能在 100% 的情况下解决问题,因为其中一个字段包含来自另一个应用程序的序列化数据,其中包含各种奇怪和奇妙的字符。

有什么方法可以让我获得标准的、引用的 CSV 数据?

0 投票
2 回答
5593 浏览

sql-server - 如何判断是否在命令行(SQLCMD)上定义了变量(-v)

有没有办法判断是否使用 SQLCMD 在命令行上定义了变量?

这是我的命令行:

ProdToTest_DB.sql 中,我想设置某种条件 IF 来检查变量是否不存在,如果不存在则定义它。

我想允许脚本从命令行和 SSMS 内部运行。

提前致谢。

0 投票
1 回答
2806 浏览

sql-server - “SQLCMD -L”失败 - 为什么?

我有 2 个 SQL Server 2008R2 实例和 SQL Server Express 2008 实例
。SQLCMD 等有效 [1]。

但是 " SQLCMD -L" 和 " OSQL -L" 失败了 [2]。
为什么?
我在 SQLCMD 使用中缺少什么?
如何使用 SQLCMD 获取服务器?

[1] SQLCMD的测试结果

[2]

SQLCMD -L

服务器:

OSQL-L

服务器:--无--

更新:
启动 SQLBrowser 后,我有:

OSQL-L

服务器:(
本地)
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

SQLCMD -L

服务器:
PBLACK
PBLACK\SQL2008R2
PBLACK\SQLEXPRESS

为什么 OSQL 枚举(本地)但 SQLCMD 不是?
SQLEXPRESS(坏了,我无法启动它)和 SQL2008R2 实例没有运行(停止) - 为什么要枚举它们?
是否可以只公开正在运行的 SQL Server 实例?

0 投票
1 回答
4273 浏览

c# - SQL Server:BCP 与 SQLCMD - 什么更有效?

我正在用 c# 编写一个程序来从一个数据库中导出 SQL Server 数据并将其导入另一个数据库。由于这两个服务器没有连接我需要选择一个方法比如bcp。

  1. 这两者有什么区别?一个比另一个更有效吗?在什么情况下?
  2. 每个已知的限制/兼容性问题是什么?
  3. 还有哪些其他方法可以将数据从 SQL Server 导出到文件并从中导入?
  4. 我可以在通过命令行开关创建这些文件的同时在这些文件中启用压缩,而不是事后压缩它们吗?
  5. 请在做出此决定时包括您认为重要的任何其他方面。

提前致谢。