我正在开发一些自动化来控制SQL脚本的执行.脚本通过SQL*PLUS运行并包含PL/SQL调用(因此我无法通过ODP.NET运行它们).
我想知道是否有SQL*PLUS的.NET接口?如果是这样,有人用它吗?
我有一个相当耗时的PL/SQL块,可以从分子结构中构建指纹.我想将输出打印到SQL*Plus控制台,以提供有关已处理的结构数量的反馈.我可以这样做dbms_output.put_line
但是,每次调用新行时都会写入.我想覆盖这条线.
例如,目前我有以下内容.
Structure x of y processed
Structure x of y processed
Structure x of y processed
Structure x of y processed
Run Code Online (Sandbox Code Playgroud)
最后,当我处理成千上万的结构记录时,我填满了缓冲区.
有没有一种方法可以用来覆盖最后一条输出线?
我正在使用SQLPlus,每当我查询数据库时,结果就完全混乱了.换句话说,很难阅读.我想知道是否有人知道如何格式化在Unix服务器上运行的SQLPlus中的查询(列,表等)的输出.但是,我从我的窗口访问服务器.
并且,有人能告诉我在哪里可以从Ubuntu获取SQLPlus吗?
干杯,
SQL plus不显示英文,如此处所示
并且它还返回系统用户名和密码的错误,甚至用户名和密码都是正确的!错误是ORA-12560:TNS:协议适配器错误,我应该怎么做?
我在Windows 7上安装了Oracle 11g
当我启动sqlplus时,它会询问我的用户名和密码
任何人都可以告诉我需要插入什么用户名,当我尝试输入任何密码时,它不允许我输入单个字母.有原因吗?
我必须使用SQLPLUS作为我的数据库类,我们的第一个任务是简单保存.
我按照说明..(我使用PuTTY访问sqlplus)
"在本练习中使用以下SQL命令,并尝试使用SAVE和SPOOL命令将SQL命令和输出保存到外部文件.
select table_name from all_tables where owner='UNIVERSITY';
select * from university.faculty;
select * from university.clubs;
Run Code Online (Sandbox Code Playgroud)
对于本实验,请执行以下操作:
在SQL>提示符下,键入Save test.sql(或者save test.sql replace如果文件已经存在),然后点击enter; 然后键入任何SQL命令,命令将保存到test.sql文件中.稍后您可以使用START命令运行保存的SQL命令.例如:SQL> start test.sql
在SQL>提示符下,键入spool output.txtthen enter; 然后键入任何SQL命令; 完成后键入'spool off'; 命令和结果将保存到文件output.txt中.如果再次在spool命令中使用,则将覆盖该文件.在课前的星期一之前将文件test.sql和output.txtD2L中的保管箱上交."
(显然,寻求帮助并不违反规则,因为说明已经在那里了......我根本就不理解他们或者他们错了)
当我输入SAVE test.sql时,我得=>"没什么要保存的"
当我在查询后键入SAVE test.sql时,它只保存最后一个键入的查询.
如何保存所有查询而不是仅输入最后一个查询?
问题类似于在SQL*PLUS中使用LIKE,其中select语句包含LIKE子句,如下所示:
select * from sometable where somecolumn LIKE 'something%';
Run Code Online (Sandbox Code Playgroud)
如何在游标中使用相同的?我尝试使用以下内容:
cursor c is select * from sometable where somecolumn like 'something%';
Run Code Online (Sandbox Code Playgroud)
与上述相同
编辑:我需要获取一些参数,这意味着,select语句在存储过程中执行.
编辑2:
create procedure proc1 (search VARCHAR) is
cursor c is select student_name from students where student_name like 'search%';
Run Code Online (Sandbox Code Playgroud)
- 我知道使用'search%'检索包含'密钥搜索'的学生姓名,但是有没有其他方法可以使用这样的变量.
do something;
end;
Run Code Online (Sandbox Code Playgroud)
简而言之,我需要选择包含作为参数传递的值的学生姓名; 这可能不是全名,可能足以在类似的条款中使用.
我是psql的初学者,我有一个问题.
这是代码:
SET serveroutput ON
ACCEPT myVariable PROMPT "Input value: ";
BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
Run Code Online (Sandbox Code Playgroud)
问题很简单:如何将文本传递给我的变量?如果我输入一个数字它是正常工作,我可以在日志中读取我的号码,但如果我传递像"mytext"而不是数字的文本,我得到一个错误:
old:BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
new:BEGIN
dbms_output.put_line('My input variable is: '||mytext);
END;
Error starting at line 5 in command:
BEGIN
dbms_output.put_line('My input variable is: '||&myVariable);
END;
Error report:
ORA-06550: 2 sor, 50 oszlop:
PLS-00201: identifier 'MYTEXT' must be declared
ORA-06550: 2 sor, 3 oszlop:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation …Run Code Online (Sandbox Code Playgroud) 我需要使用sqlplus从Oracle中的表中调整csv.以下是所需的格式:
"HOST_SITE_TX_ID","SITE_ID","SITETX_TX_ID","SITETX_HELP_ID"
"664436565","16","2195301","0"
"664700792","52","1099970","0"
Run Code Online (Sandbox Code Playgroud)
以下是我写的shell脚本的相关部分:
sqlplus -s $sql_user/$sql_password@$sid << eof >> /dev/null
set feedback off
set term off
set linesize 1500
set pagesize 11000
--set colsep ,
--set colsep '","'
set trimspool on
set underline off
set heading on
--set headsep $
set newpage none
spool "$folder$filename$ext"
select '"'||PCL_CARRIER_NAME||'","'||SITETX_EQUIP_ID||'","'||SITETX_SITE_STAT||'","'||SITETX_CREATE_DATE||'","'||ADVTX_VEH_WT||'"'
from cvo_admin.MISSING_HOST_SITE_TX_IDS;
spool off
Run Code Online (Sandbox Code Playgroud)
(我已经使用了一些注释声明来表示我尝试但无法工作的事情)
我收到的输出是:
'"'||PCL_CARRIER_NAME||'","'||SITETX_EQUIP_ID||'","'||SITETX_SITE_STAT||'","'||SITETX_CREATE_DATE||'","'||ADVTX_VEH_WT||'"'
"TRANSPORT INC","113","00000000","25-JAN-13 10.17.51 AM",""
"TRANSPORT INC","1905","00000000","25-JAN-13 05.06.44 PM","0"
Run Code Online (Sandbox Code Playgroud)
这表明标题搞砸了 - 它实际上是打印应该被解释为sql语句的整个字符串,就像显示的数据一样.
我正在考虑的选项:
1)使用colsep
set colsep '","'
spool
select * from TABLE
spool off
Run Code Online (Sandbox Code Playgroud)
这引入了其他问题,因为具有前导和尾随空格的数据,文件中的第一个和最后一个值不用引号括起来 …
oracle ×10
sqlplus ×10
plsql ×3
sql ×3
oracle11g ×2
.net ×1
automation ×1
dbms-output ×1
formatting ×1
header ×1
ora-12560 ×1
spool ×1
ssh ×1
ubuntu ×1
unix ×1