sqlplus 相关问题

SQL * Plus是Oracle RDBMS产品的命令行界面。 SQL * Plus问题可能也应该用oracle标记。

SQL 命令行登录错误:sp2-0306

我只是尝试使用开始菜单中的“运行 SQL 命令行”登录新安装的 Oracle Database 11g Express Edition (Windows)。 按照 Oracle® Database Express Edition 上的指定

回答 2 投票 0

在perl中打开管道进程(sqlplus)并从查询中获取信息?

基本上,我想使用 Perl 打开一个到 sqlplus 的管道,发送查询,然后从查询中获取信息。 当前代码: open(PIPE, '-|', "sqlplus 用户/密码@server_detail...

回答 4 投票 0

未找到命令 - bash : sqlplus:

我正在尝试在Oracle数据库docker容器(适用于Windows 10)中使用sqlplus。 给出的命令: “docker run -d -p 8080:8080 -p 1521:1521 --name OracleDB store/oracle/database/enterprise:12.2.0.1” ”

回答 5 投票 0

sqlplus 19c varchar2 格式与 k 12c 不同

我们正在将数据库从 12c 更新到 19c,当然还有 Oracle 客户端。 我们确实有一些从 sqlplus 报告的作业。我们注意到 varchar2 字段的格式不同......

回答 1 投票 0

Oracle 所有列的列宽

例如,执行长语句以显示各种列时的问题之一 选择 g.guestid、g.forename、g.surname、b.bookingid、 b.到达日期,b.离开日期,br.floorno,br.roomn...

回答 8 投票 0

如何在 SQL 查询中对一列求和并显示在输出末尾的最后一行?

更改会话设置 nls_date_format = 'dd/mm/yyyy'; ACCEPT input_year PROMPT '输入年份以检查顾客订购的每个菜单项的数量(YYYY):' col menu_id 格式...

回答 1 投票 0

如何像使用“SET SQLFORMAT CSV”那样将“SET ECHO ON”添加到通过管道传输到 sqlcl 的 SQL 查询中?

为了嵌入 Unix shell 脚本,我想执行一组 SQL 命令,然后直接退出 sqlcl。 为此,我成功地使用了 pipeline-from-stdin 方法: echo“从M中选择可乐...

回答 1 投票 0

我收到此错误:ORA-12560:TNS:连接到 sql plus 时窗口 10 中出现协议适配器错误

我不断收到此错误。我已经更正了 ora.listner 文件,如堆栈溢出中类似问题的其他答案中所述,我也能够登录,但当我打开我的

回答 2 投票 0

Oracle SQL:为什么我的提示是重复和重复

输入您要检查的年份>2022 输入您要查询的导游ID>TG02 72 73 74 75 76 这是屏幕的输出 更改会话集 nls_date_format = 'D...

回答 1 投票 0

将 Barker 表示法转换为 SQL 脚本时遇到问题

嗨。我用巴克符号为我的数据库类编写了这个方案。我是 SQL 新手,我必须编写一个脚本来创建与此方案等效的 SQL。我有很多 tro...

回答 1 投票 0

我想在“20-FEB-81”和“01-MAY-81”之间选择雇佣日期

我想要“20-FEB-81”和“01-MAY-81”之间的员工姓名、工作、受聘日期,并按升序排列 我运行的查询出错 SQL> 选择 ename、job、hiredate,其中hiredate 介于 '20-...

回答 2 投票 0

如何将 sqlplus 与定界符和文件替换参数一起使用

因此,我尝试通过将要执行的脚本包装在“页眉”和“页脚”中,将一些默认配置应用于每次调用 sqlplus,以便获得一致的 exe...

回答 1 投票 0

SQLPLUS BAT 文件

我有一个在oracle上运行脚本的BAT文件: sqlplus myuser/mypassword@mydatabase @C: unthisfile.sql 我想将其分发给其他用户(不一定知道如何修改 BA...

回答 3 投票 0

错误:ORA-12154:TNS:无法解析指定的连接标识符

每当我尝试登录或连接到 SQL 命令行或 SQL*Plus(11g 标准版 Win64)时,都会收到错误 ORA-12154: TNS: 无法解析指定的连接标识符。 我已经尝试...

回答 1 投票 0

静默模式下的Sqlplus不是静默的

我在 shell 脚本中使用 sqlplus 并且它可以工作(sqlplus 没有静默模式),但我可以在终端中看到输出。我尝试使用不同的组合在静默模式下运行它,但没有用...

回答 4 投票 0

如何在 shell 脚本中连接数据库并运行查询?

我正在尝试从 shell 脚本连接到数据库,但出现以下错误。 数据库输出:错误: ORA-12154: TNS: 无法解析指定的连接标识符 SP2-0306:无效

回答 3 投票 0

发生错误时如何退出sqlplus

我想捕获任何可能发生的sql错误,所以我在ksh中写了这个: $ORACLE_HOME/bin/sqlplus -s u/p < 我想捕获任何可能发生的 sql 错误,所以我在 ksh 中写了这个: $ORACLE_HOME/bin/sqlplus -s u/p <<EOF WHENEVER OSERROR EXIT 68; WHENEVER SQLERROR EXIT SQL.SQLCODE; CREATE TABLE new_table AS (SELECT * FROM wrong_old_table); COMMIT; EOF 我为旧表输入了错误的名称,看看会发生什么。我希望只有像我在 WHENEVER SQLERROR 中询问的那样才能获得 sqlcode,但我有这个: AS (SELECT * FROM wrong_old_table) * ERROR at line 2: ORA-00942: table or view does not exist 我更改了代码: $ORACLE_HOME/bin/sqlplus -s u/p <<EOF WHENEVER OSERROR EXIT 68; WHENEVER SQLERROR EXIT SQL.SQLCODE; BEGIN CREATE TABLE new_table AS (SELECT * FROM wrong_old_table); COMMIT; END; EOF sql_code=$? echo "code=$sql_code" 即使有错误,代码也等于0。sql错误代码在哪里? 事实上,不使用 begin...end 并且它可以工作 我不确定你在做什么,但这种类型的代码对我来说效果很好。对于第一个例子: SQL> whenever sqlerror exit sql.sqlcode; SQL> create table new_table as select * from wrong_old_table; create table new_table as select * from wrong_old_table * ERROR at line 1: ORA-00942: table or view does not exist $ echo $? 174 请注意,退出代码并不完全对应于 SQLCODE,因为 SQLCODE 始终为负数,而大多数 shell 中的退出代码仅限于 +0 到 +255 之间的值;因此,您得到的退出代码似乎是 SQLCODE (+) 的二进制补码的低位字节。实际上,这意味着您将获得一个可预测且可重复的非零值,但它不会与 SQLCODE 完全匹配,并且多个 SQLCODE 值可能会产生相同的退出代码值。 祝你好运。 (+) 如果您关心:在上面的示例中,SQLCODE 是 -942。以十六进制表示为 0xFFFFFC52。反转该数字的所有位即可得到补码,即 0x3AD。该值加一即可得到二进制补码值,即 0x3AE。它的低位字节是 0xAE,以 10 为基数表示为 174。我对 SQLCODE 值 -904(给出的退出代码为 136)和 -6550(给出的退出代码为 150)重复了此操作。 test.sh function checkError { $ORACLE_HOME/bin/sqlplus -s "/ as sysdba" <<EOF WHENEVER OSERROR EXIT 68; WHENEVER SQLERROR EXIT SQL.SQLCODE; select * from dual; exit EOF } ####### MAIN ######### export ORACLE_SID='cat /etc/oratab | grep -v ^''#'' | grep -v ^$ | awk -F ":" ' { print $1 }' | grep -v ASM | uniq' export ORACLE_HOME='grep $ORACLE_SID /etc/oratab | awk -F: ''{print $2}''' export PATH=$ORACLE_HOME/bin:$PATH checkError exitcode=$? echo "here is the error status $?" echo "" echo "" echo "Here is the exit code $exitcode" if [ $exitcode -ne 0 ] then echo "There was an issue with checkError. Aborting here..." exit 3 else echo "checkError successful.. Proceeding.." fi exit 0 ## End of Code ## 现在在您的环境中运行此代码,您将看到它。

回答 2 投票 0

我从 bash 向 sqlplus 语句传递了一个参数,但该参数将后面的所有脚本作为参数。如何避免这个问题?

我有这种bash脚本 $sqlplusconn 是使用 sqlplus 到我的 oracle 实例的连接 $foo 是一个数字 $sqlplusconn << EOF BEGIN @bar.sql $foo @foo.sql $foo COMMIT; EXCE...

回答 1 投票 0

sqlplus 未作为“/ AS SYSDBA”连接

我安装了oracle数据库快捷版18c。我使用的是 Windows 10。 当我在sqlplus中以用户名执行“/ AS SYSDBA”时,出现以下错误。 错误: ORA-28056: 写入审核

回答 2 投票 0

监听器拒绝连接,并出现以下错误:ORA-12514,TNS:监听器不知道连接描述符中请求的服务

无法使用 SQLDeveloper 连接到本地 Oracle 数据库。 我能够通过 SQLPlus 连接,但在 SQLDeveloper 中出现上述错误。 我的 SQLDeveloper 连接详细信息: 这是我的 tnsnam...

回答 1 投票 0

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