- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在从 Java 执行 sqlcmd 时遇到错误。我的代码如下:
Process process = Runtime.getRuntime()
.exec("sqlcmd -m-1 -S localhost,1433 -d my_server -U sa
-P abc -Q \"select * from Assests where AssetID >
'G123204E4-1234-4A31-B37B-0092D68DA429'\" -k2 -W
-h-1 -s\",\" -o \"D://Assests.csv\"");
虽然从 sqlclient 运行 sqlcmd 它工作正常但是从 Java 它给出以下表达式错误:
Msg 4145, Level 15, State 1, Server SANDEEPB-PC, Line 1 An expression of non-boolean type specified in a context where a condition is expected, near 'AssetID'.
然而,当我将“>”更改为“=”时,它工作正常。
谁能告诉我为什么会这样,我能做些什么?
最佳答案
您应该使用 exec() 的字符串数组版本传递命令,请参阅: http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#exec(java.lang.String[])这将正确地转义所有参数。
参见 Java Runtime exec() fails to escape characters properly
应该是这样的(未测试);
Process process = Runtime.getRuntime()
.exec(new String[] {"sqlcmd", "-m", "-1", "-S", "localhost,1433", "-d", "my_server", "-U", "sa", "-P", "abc", "-Q", "select * from Assests where AssetID > 'G123204E4-1234-4A31-B37B-0092D68DA429'", "-k2", "-W", "-h", "-1", "-s", ",\"", "-o", "D://Assests.csv"});
用于 MySQL(已测试)
Process process = Runtime.getRuntime()
.exec(new String[] {"mysql", "-u", "root", "-ppassword","-e", "select 1<2"});
关于java - 从 Java 7 调用 SQLCMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17491851/
我希望将 SQL 查询 Select count(*) from Table 的输出用作批处理脚本中的变量。我正在使用 sqlcmd 来执行此查询,但还没有想出如何正确执行此操作。 如有任何帮助或示例
我正在使用 powershell 并使用 Invoke-SqlCmd .我能够将变量传递给 SQL: $variables = @( "MyVariable='hello'" ) Invoke-Sql
我在调用 Invoke-SqlCmd 时遇到问题,因为它包含第二个 Invoke-SqlCmd 调用: function Get-Foo { $query=` @" WITH data AS (
我正在使用 sqlpackage.exe 部署 dacpac,需要为 dacpac 中的部署后脚本传递 SqlCMD 变量。我发现了一个相关问题here和 here . 但是我收到以下错误:以下 Sq
我正在使用 sqlpackage.exe 部署 dacpac,需要为 dacpac 中的部署后脚本传递 SqlCMD 变量。我发现了一个相关问题here和 here . 但是我收到以下错误:以下 Sq
我可以找到的所有文档和帮助线程都包含带有 Authentication=ActiveDirectoryIntegrated 的引用连接字符串,以便通过 AAD 集成命中 SQL。如果我使用的是 SSM
我有一个运行多个 *.sql 文件的批处理文件。目前,所有变量都已硬编码在 sql 文件中。我想知道如何从 SQLCMD 批处理文件中传递变量值。 变量名示例: DECLARE @TW_FROM DA
我正在使用 SQLCMD 运行一个 270 MB 的 .sql 文件。脚本文件 (.sql) 是使用 Red Gate SQL 数据比较同步向导生成的。由于内存不足,我无法从 SSMS 运行它。我登录
我以这种方式使用 sqlcmd 执行一些命令行批处理 (.bat): sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYD
在我的部署后脚本中,我想使用这样的通配符将所有脚本文件包含在一个文件夹中: :r .\$(ReleaseName)\*.sql 有没有办法做到这一点?我找不到任何.. 最佳答案 我让它工作: ':r
所以这是我想要运行的查询 sqlcmd -E -S localhost\MSSQLSERVER_2016 -i C:\Tables.sql 在这个实例中我有多个数据库,当上面的命令运行时,我不知道它针
我正在尝试在运行 SQL Server 2005 的 Windows 计算机上使用 sqlcmd 将查询写入 csv 文件。我们通常使用的命令行选项是: -l 60 -t 300 -r 1 -b -W
我正在尝试使用 sqlcmd 来执行一些 SQL 脚本。 使用带有简单查询的测试命令,例如: sqlcmd -S HOSTNAME -d MYDATABASE -Q 'SELECT Names FRO
我正在使用以下代码在远程机器上执行查询。 Invoke-Sqlcmd -ServerInstance $serverInstance -Database $dbName -InputFile $fil
我已经调用了许多.sql文件的fetchDb.bat文件 将数据库升级到最新版本 这是用于执行.sql文件内容的命令 sqlcmd %Sqlinstance% -d DataBase -i "file
我在一个文件夹的多个文本文件中有TSQL插入语句。我需要在Powershell中使用foreach循环在sql服务器上运行。它应该转到文件夹中的每个文件,读取执行查询并再次终止连接,再读取下一个文件,
我们在使用 Powershell 和 SQLCMD 时遇到问题,当 -v 参数变量中有空间时,powershell 将无法运行命令。 例如 sqlcmd ... -v VAR="Some space"
我有一个简单的 SQLCMD 脚本,其中包含如下几行: /* Load data into Exampletable */ BULK INSERT dbo.Example /* NOTE: I
如何根据系统日期将输出文本文件命名为 YYYYMMDD? sqlcmd -S DataBBB -i c:\scripts\followup.sql -o %DATE:~4,2%_%DATE:~
我刚刚通过Chocolatey重新安装了SQL Server Express 2014。该服务当前正在运行。 当我在CMD或Powershell中运行此命令时: > sqlcmd -e -S .\SQ
我是一名优秀的程序员,十分优秀!