Sql server 在命令行中使用WbExport时缺少数据和sql脚本文件

Sql server 在命令行中使用WbExport时缺少数据和sql脚本文件,sql-server,jdbc,command-line,sql-workbench-j,Sql Server,Jdbc,Command Line,Sql Workbench J,在从命令行运行包含WbExport(使用Select语句)的sql脚本时,我面临一个问题。目标文件夹中缺少txt文件和导入sql脚本 命令提示符显示已执行语句,但我认为在执行命令时select语句未运行 如果不使用Select语句,我将获得所需的输出文件,但导入SQL脚本中缺少列名,这就是我在WbExport中尝试Select语句方法的原因 命令: java -jar sqlworkbench.jar -profile=New_profile -script=cmd_test.sql sql

在从命令行运行包含WbExport(使用Select语句)的sql脚本时,我面临一个问题。目标文件夹中缺少txt文件和导入sql脚本 命令提示符显示已执行语句,但我认为在执行命令时select语句未运行

如果不使用Select语句,我将获得所需的输出文件,但导入SQL脚本中缺少列名,这就是我在WbExport中尝试Select语句方法的原因

命令:

java -jar sqlworkbench.jar -profile=New_profile -script=cmd_test.sql 
sql脚本(cmd_test.sql):


Txt数据文件和导入表的sql脚本

这已交叉发布到sql Workbench/J

问题是新的MicrosoftJDBC驱动程序错误地处理了一些JDBCAPI调用的参数,并且不再支持通配符。SQL Workbench/J在调用前转义标准SQL通配符,例如
DatabaseMetaData.getColumns()
。显然,从7.4版开始的MicrosoftJDBC驱动程序不再使用LIKE语句,因此方法调用(使用转义通配符)不会返回任何内容

通过设置配置属性,可以在SQL Workbench/J中禁用转义通配符。通过手动编辑workbench.settings并添加:

workbench.microsoft\u sql\u server.metadata.retrieval.wildcards=false
在编辑文件之前,请确保SQL Workbench/J已关闭


这也可以在不重新启动应用程序的情况下进行配置

当连接到SQL Server数据库时,也可以在SQL Workbench/J中通过运行以下Workbench命令来完成此操作:

WbSetDBconfig metadata.retrieval.wildcards=false;

这已交叉发布到SQL工作台/J

问题是新的MicrosoftJDBC驱动程序错误地处理了一些JDBCAPI调用的参数,并且不再支持通配符。SQL Workbench/J在调用前转义标准SQL通配符,例如
DatabaseMetaData.getColumns()
。显然,从7.4版开始的MicrosoftJDBC驱动程序不再使用LIKE语句,因此方法调用(使用转义通配符)不会返回任何内容

通过设置配置属性,可以在SQL Workbench/J中禁用转义通配符。通过手动编辑workbench.settings并添加:

workbench.microsoft\u sql\u server.metadata.retrieval.wildcards=false
在编辑文件之前,请确保SQL Workbench/J已关闭


这也可以在不重新启动应用程序的情况下进行配置

当连接到SQL Server数据库时,也可以在SQL Workbench/J中通过运行以下Workbench命令来完成此操作:

WbSetDBconfig metadata.retrieval.wildcards=false;

已解决。显然,微软的驱动程序有问题。运行WbSetDBconfig metadata.retrieval.wildcards=false;连接到SQL Server,然后尝试导出数据。已解决。显然,微软的驱动程序有问题。运行WbSetDBconfig metadata.retrieval.wildcards=false;连接到SQL Server,然后尝试导出数据。
WbExport 
    -type=text
    -file='D:\Migration\CMD_TEST\employee.txt'
    -delimiter='~'
    -quotechar='^'
    -encoding=UTF8
    -quoteCharEscaping=duplicate
    -formatFile=postgres
    -header=true
    -decimal='.'
    -dateFormat='yyyy-MM-dd'
    -replaceExpression='(\n|\r\n)' -replaceWith='';
select * from ces_prj_raymond_poc.dbo.employee; ------------I think this statement is not executing.