问题标签 [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.
sql - SQL 调试打印
如果您的存储过程中有 100 次出现“PRINT”,那么在调试非调试时是否有一种很好的方法可以将它们全部打开/关闭?
我可以添加一个变量@isdebug = 1
然后,做类似的事情
IF @isdebug = 1 PRINT @yourvar
然后@isdebug
根据您的需要将其设置为 0 或 1。有没有更好的方法来做到这一点?
sql - 使用 sqlcmd -i 在脚本文件中执行存储过程
需要一些有关脚本文件的帮助。我有一个以下格式的 SQL 脚本文件:
我以以下方式从 .js 文件中调用上述脚本文件:
当我运行 .js 文件时, tran-commit 之间的代码被执行,但 storeproc1 从未被调用。我确定没有调用storedproc1,因为它有一个从未出现在表中的插入语句列表。
sql-server - SQLCMD 的返回值
我需要检查通过 SQLCMD 实用程序运行的查询的退出状态(成功/失败)。例如,我连接的服务器没有数据库名称EastWind
。然后,以下命令失败并显示消息...
我看到两种情况下的返回值都是相同的。如何检查命令是否失败SQLCMD
?
sqlcmd - SQLCMD :r其中路径是一个变量
SQLCMD 命令是否:r
支持非常量文字路径?
例如:
csv - 使用 sqlcmd 读取 txt 文件?
是否可以使用 sqlcmd 读取 txt 文件,以避免需要手动键入每个单元格?
我得到了一个 txt 文件,其中每一行都在一行上,每一列用逗号分隔。(一个 .cvs 文件)
我一直在尝试查找一些命令,但......没有运气!
任何和所有的帮助将不胜感激!
sql - BAT 文件中的 SQLCMD 实用程序 - 如何在语法错误的情况下返回 ERRORLEVEL
当某些 .sql 文件包含语法错误时,如何从 SQLCMD 实用程序获取 %ERRORLEVEL%?这些文件创建存储过程。他们不调用“raiseerror”,但他们可以包含语法错误,我需要终止该过程。但它总是将 %ERRORLEVEL% 返回为 0。我尝试使用 -b、-V 和 -m (以及它们的组合),但没有按预期对我有用。
这是我的 BAT 文件的代码片段。
windows - 批处理文件和 Sqlcmd 的错误处理
我有一个批处理文件,它使用 sqlcmd 运行一些 SELECT 查询,将结果放入文本文件,然后将这些文件上传到 FTP 服务器。这一切都按照它应该的方式工作,这就是我喜欢的工作方式。
不过,我一直想知道如果发生错误我会怎么做。假设有人更改了我正在访问的数据库的数据结构并且没有通知我。如果我运行一个 sqlcmd SELECT 语句并将结果放入一个文本文件中,我最终会得到一个包含错误的文本文件,然后它会直接进入 FTP,就好像没有任何问题一样。(我已经对此进行了测试。)
我希望能够检查来自 sqlcmd 的错误——超时、错误的凭据、格式错误的查询等,我只是不确定这是如何完成的或“最佳实践”是什么。我总是可以尝试爬取输出文本文件并搜索我认为可能发生的错误,但由于多种原因,这是有问题的。
有人有这方面的经验愿意分享吗?
sql-server - 安装 sql server 2005 express 后 sqlcmd 不工作
我从这个 URL 下载了 53.5 MB 的 SQL Server 2005 Express 安装程序:
然后我通过进入命令提示符运行 sqlcmd ,但它显示错误
HResult 0x2,级别 16,状态 1
命名管道提供程序:无法打开与 SQL Server 2的连接。
Sqlcmd:错误:Microsoft SQL Native Client:建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接。Sqlcmd:错误:Microsoft SQL Native Client:登录超时已过期。
然后我从这个 URL 下载并安装了 Sql 命令行实用程序:
Microsoft SQL Server 2005 功能包 - 2005 年 11 月
然后它也显示相同的错误。
然后我安装了Sql Native Client,然后它也没有工作。但是当我安装 Management Studio 时,从 Management Studio 建立了连接,但不是从命令提示符中的 sqlcmd。
请帮忙。
sql - sqlcmd - 如何绕过没有空格的列长度限制?
我正在尝试在运行 SQL Server 2005 的 Windows 机器上使用 sqlcmd 将查询写入 csv 文件。我们通常使用的命令行选项是:
但是,这些列在 256 字节处被截断。为了避免这种情况,我尝试使用此命令行选项代替 -W:
这捕获了整个字段,但是这种方法的问题是由于所有额外的空间,文件从刚刚超过 1mb 膨胀到了大约 200mb(我意识到 8000 可能是矫枉过正,但它可能必须至少为 4000 和我目前只处理一小部分数据)。-W 选项通常会消除所有这些额外的空间,但是当我尝试将它们一起使用时,它告诉我它们是互斥的。
有没有办法让 sqlcmd 绕过这个限制,或者有人知道另一个程序(如 bcp 或 osql)是否会使这更容易?
编辑: 这是我们用来获取被截断的字段的代码片段(类似的代码用于一堆字段):
...
unix - *nix 上是否有等效的 SQLCMD?
我们有一个异构环境,一些开发人员使用 OSX,一些开发人员使用 Windows。我们的构建过程涉及数据库修订控制,需要调用 SQLCMD 来执行任意脚本——我们的数据库都是 SQL Server。
SQLCMD 是 Windows 上 SQL Server 的命令行界面,类似于 Oracle 的 SQL*Plus。我们需要的特定功能是能够从命令行运行 SQL 脚本。*nix 是否有等效的 SQLCMD?
如果没有,那么我能想到的唯一跨平台方法是将脚本文件加载到内存中,然后执行脚本。
对于处理所有 T-SQL DDL 语句的库/语言组合,是否有明确的领导者?(我询问 DDL 语句,因为当我过去尝试过这种方法时,它们一直是这种方法的障碍。)