SQL开发人员阀芯TXT行

问题描述 投票:1回答:1

我有一个调用SQL开发人员和后台进行查询到一个文本文件一个bat文件,但结果是所有在一排,似乎不知道如何识别一行。

例如,如果我在运行SQL手动开发商阀芯脚本,txt文件看起来完美是这样的:

“项目”,“数量”,“价格”

“A11”, “4”, “0.86”

“A 12”, “P”, “0.kht”

“A14”, “5”, “0.z”

但是,如果我用bat文件运行它,它出来是这样的:

“项”, “数量”, “价格”, “A11”, “4”, “0.86”, “A12”, “3”, “0.56”, “A14”, “5”, “0.3”

如果没有正确的格式,当我将其导入到excel文件,所有的数据都只是在一个单元格。

我已经尝试了各种类似SET PAGESIZE, SET TERMOUT格式的......但这些工作。在我的另一台设备,我跑完全相同的代码,我没有这个问题。

bat文件的代码:

@echo off

C:

cd C:\sqldeveloper\sqldeveloper\bin

sdcli migration -actions=mkconn,runsql -connDetails=target_oracle:oracle:XXXXX -conn=target_oracle -sql="C:\Desktop\1.sql"

1.SQL:

spool "C:\Desktop\test.txt"
@C:\2.sql as script(F5);
spool off

2.SQL:

Select /*csv*/ * From (
select * from item
);

我被困在这里了一段时间,如果你有解决方案,请让我知道,谢谢。

sql oracle-sqldeveloper
1个回答
0
投票

答案是使用正确的SQL Developer的命令行界面作业。

我们有两个:

SDCLI - 这是完整的SQL开发者计划的一具无头版本 - 他说,没有图形用户界面的花哨的方式。它可以做的事情一样执行数据库导出或调用车功能。用它来运行通过迁移任务的SQL语句就像使用喷火器解冻你的车的挡风玻璃上 - 虽然可能没有那么有趣。

SQLcl - 这是一个命令行交互界面到Oracle数据库。这是在SQL * Plus的基于Java的版本。它具有相同的代码,SQL Developer时谈到进行连接时,运行脚本,等等 - 但它只有20MB VS 200 + MB,而且只需要一个JRE Vs的JDK。

这两个项目都在你的SQLDeveloper \ bin文件夹 - but SQLcl is also a separate, standalone, supported product

所以,做你想做的,你需要改变这样的:

sdcli migration -actions=mkconn,runsql -connDetails=target_oracle:oracle:XXXXX -conn=target_oracle -sql="C:\Desktop\1.sql"

为此:

SQL用户名/密码@服务器:端口/服务@c:\用户\ jdsmith \桌面\ 1.SQL

而你1.SQL可以这样:

spool c:\users\jdsmith\desktop\locations-so.csv
Select /*csv*/ * From locations;
spool off
exit

这给了我们这个

enter image description here

奖励:SQLcl将通过这个运行得更快。

© www.soinside.com 2019 - 2024. All rights reserved.