问题标签 [osql]
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-server-2005 - 使用 OSQL 命令时如何批量获取错误名称?
我创建了一个执行 sql 命令的批处理文件。
让我们看看这段代码
上面的代码部分总是返回 0 和Sorry, could not complete your request!
. 这是什么意思 ?
如何设置在控制台中显示错误以查看到底是什么错误?
我用MSDN放置-m-1
并相应地删除了,但没有出现在我的控制台中。-h-1
谢谢你。
sql-server-2008 - 通过使用 osql.exe 运行 .sql 脚本来生成 .csv 文件
我在文件夹中有一个脚本文件。我想使用 TSQL 运行此脚本而不在 SSMS 中打开它,因为我将使用 SSIS 运行此脚本以生成 CSV。
我已经使用 OSQL 通过使用 Execute Process Task 来实现这一点,但它并没有给我我正在寻找的确切结果。它在 csv 中生成空间。当我使用 OSQL 代码执行时,我通过右键单击导出为 CSV 选项的 17 mb 文件变成了 1gb。我使用的 OSQL 是:
-E -S CCCMSDSQL20,1819 -d SHARE_SCRUB -q "SET NOCOUNT ON" -i "C:\Scripts\.SQL" -o "C:\Scripts\.csv" -n -h-1 -s"," -w 700
我更喜欢可以实现相同功能的 TSQL 脚本,这样我就可以在执行 SQL 任务中使用它并获得结果。
编辑:我正在努力从一个文件夹中的多个 .sql 文件生成多个 csv。我正在使用每个循环容器并执行流程任务。我想更改执行流程任务以执行 sql 任务并使用此脚本生成多个文件。
如果可以编写一个 TSQL 代码,它可以在一个脚本中循环和生成 CSV 文件,我可以在不使用包的情况下使用它。
感谢您的时间和帮助。
sql-server - SQL 查询在 SSMS 中有效,但在 cmd 文件中使用 osql 命令时无效
我无法让某个查询在 SSMS 之外工作。该查询收集所有用户定义的数据类型并创建 IF EXISTS 语句和 CREATE TYPE 命令,以便轻松传输所有用户定义的数据类型。这样做的查询如下(不是我写的,而是在https://stackoverflow.com/a/12761027/865893找到的)
这就像 SSMS 中的魅力一样,但我希望不必每次都进入 SSMS 并自己将其导出到文件中。当我通过批处理文件中的 osql 命令运行查询时,如下所示。
然而,这给了我以下输出:
任何线索都会很棒。我环顾谷歌一段时间,不知道要改变什么/如何解决这个问题。像它所说的那样删除或关闭引号会破坏事情。谢谢。
sql - NSIS ExecWait 和 OSQL 应用程序
我正在编写一个安装程序,它应该执行一些 MSSQL 数据库操作。这些操作位于 .cmd 文件中,并通过 MSSQL Server 2000 中的 OSQL.exe 执行。
现在我的问题来了。当我双击批处理文件时,它执行确定。但是,如果我在我的安装程序中通过 ExecWait 运行它(或 Exec 或 ExecShell,尝试了所有,没有区别),Windows 会说找不到命令 osql... 通过 SetOutPath 设置的当前工作目录与我的目录完全相同.cmd 文件位于。
我还尝试尽可能简化案例:
而在我的 NSIS 源中,我有:
我的问题也发生在这里。通过双击或从命令行调用 .cmd 可以正常执行,但 NSIS 的 Exec 出于某种神秘的原因似乎找不到 osql。有人知道为什么会发生吗?
tsql - 将结果保存到 txt 文件,而不在 sqlcmd 中进行任何其他格式设置
当我运行此命令时:
sqlcmd -S server -U sa -P xxxxxxx -i d:clients.sql -o D:\clients.txt
但在文件中我有 x 行受到影响,“1> 2> 3> 4> 5> 6> 7> 8>” 和许多其他空格
我不仅想要没有任何格式的结果。
在 sql 文件中我有一些选择。
预先感谢。
database - OSQL 语法不正确 - 字符编码 - 需要 Powershell 脚本帮助
所以我们使用 osql 在存储过程中运行作为我们构建过程的一部分。我们使用一个带有 sp 文件夹的项目,该文件夹作为构建包的一部分与应用程序一起发布。
我使用 Visual Studio 创建了这个项目结构并创建了要在 procs 中运行的 sql 脚本。
Visual Studio 以 UTF8 格式保存文件(默认情况下)。osql 在脚本中运行时抱怨每个脚本在第 1 行都有语法错误,即
比较莫名其妙。
反正; 要解决此问题,可以使用 Unicode 代码页 1200(文件 -> 高级保存选项)保存 sql 脚本
et voila - 问题消失了
现在这给我留下了一个更大的问题;我有超过 200 个 proc 脚本需要打开、更改编码并使用新编码保存。
任何powershell大师都可以为我编写一个快速脚本来将文件夹中每个文件的编码更改为Unicode代码页1200吗?会帮我一个忙,同时也节省时间。
sql-server-2008 - OSQL.exe 不是有效的 WIN 32 应用程序
我正在尝试使用 osql.exe 命令实用程序(sql server 2008 R2)编译一些索引,但出现此错误-
错误:
命令:
我还尝试使用 sqlcmd.exe 执行相同的命令,并且执行得很好。
并成功执行。
请建议我如何解决osql问题..
osql - 如何删除从 osql 返回的空白记录?
我有一个批处理脚本,它在多个数据库上运行 sql 查询并将结果附加到 .dat 文件中。该脚本在每个数据库的结果下以及文件顶部添加 3 个空白行。我使用下面的 osql 命令来运行 sql 查询。
osql -e -S %1-n -b -h-1 -w1000 -s","
我需要删除那些空格。我可以使用任何 osql 选项吗?
sql-server-2008 - 从批处理文件调用的批处理文件调用 OSQL 中的 TSQL 语句失败
我正在通过批处理文件自动化各种 EXE,包括调用现有的批处理文件,该文件又通过 OSQL.exe 执行各种 TSQL 语句。
现有的批处理文件工作正常。但是,当我的批处理文件调用时,对 osql.exe 的调用失败,这导致批处理文件自行退出。
可以说,错误发生了。使用 ECHO ON,第一行变为:
当我直接从命令行或从我自己的批处理文件调用脚本时,这一行是相同的。
我已经手动捕获了从我的批处理文件调用此批处理文件时设置的环境变量。然后我在命令行手动设置它们,然后手动运行批处理文件。没有复制。
我将 TSQL 语句更改为简单地输出函数 IS_SRVROLEMEMBER() 的返回值。从我的脚本和命令行调用,输出都是相同的 - “1”:
batch-file - 如果 FOR 循环中发生死锁,则重试 OSQL 命令
因此,我正在编写第一个使用 OSQL 查询的批处理脚本。这是我当前的代码:
这个想法是 names.txt 有一个要运行的 sql 查询列表,然后将输出吐出到同名的文件中,然后可以将其连接到主输出中。
我遇到的问题是错误检查,特别是死锁。遇到死锁时, 我希望重新运行失败的查询,然后继续执行列表。
我的想法是,通过错误级别检查和 goto,它会做我想要的。相反,当它跳回到 :RESTARTER 时,%%G 的值会丢失,并且我得到一个永久错误循环。
我已经尝试在重启器之外将另一个变量设置为 %%G 的值......虽然这有效,但一旦成功执行查询,它就会退出原始 FOR 循环并停止。
所以,我的问题是,我如何告诉脚本重试最后一个失败的命令并继续 FOR 循环,直到到达 names.txt 的结尾?
编辑:好的,所以我能够通过将实际的 osql 命令放在单独的批处理文件中,然后从循环中调用该批处理并将 %%G 作为参数传递来使其工作。但是,我仍然想知道是否有办法在没有单独脚本的情况下做到这一点。