当前位置: 首页 > 知识库问答 >
问题:

在Linux中尝试通过shell脚本将记录插入oracle数据库表时出错

商兴朝
2023-03-14

有人能帮我解决这个错误,我得到当我试图运行一个外壳脚本test.sh参数为20211007代码如下:

#!/bin/sh

ODATE=${1}
file_source_sys="abc"
File_name="xyz"
file_deliver_time="20210218:12:56:76"

HOME_DIR="/var/tmp/Sneha"

source ~/env/INFORMATICA.env
source ${HOME_DIR}/db.properties

cd ${HOME_DIR}

cat <<EOD > temp.sql
INSERT INTO test VALUES 
('${file_source_sys}','${File_name}','${file_deliver_time}','$ODATE');

commit;

quit
EOD

sql ${USER}/\"${PASS}\"@${DB_INSTANCE} @temp.sql

错误如下:

SQLcl:11月6日星期六18:53:24发布18.3 2021版权所有(c)1982、2021,Oracle。保留所有权利。

上次成功登入时间:十一月06 2021 18:53:25 01:00星期六

连接到:Oracle Database 19c Enterprise Edition 19.0.0.0.0版-生产版本19.11.0.0.0

从第1行开始时出错@/var/tmp/Sneha/temp。命令中的sql-在命令行中插入测试值('abc','xyz','20210218:12:56:76','20211005')错误:1列:13文件@/var/tmp/Sneha/temp。sql错误报告-sql错误:ORA-00942:表或视图不存在

提交完成。

已断开与Oracle Database 19c Enterprise Edition 19.0.0.0.0版-生产版本19.11.0.0.0的连接

注I:再次检查并确认表格测试是在DB中创建的。此外,我还手动检查了将生成的这个insert语句插入到DB中的操作是否正常。但通过Shell脚本,这并没有发生。

我还看到了温度。生成的sql文件包含以下内容:

插入测试值('abc','xyz','20210218:12:56:76','20211005');

犯罪

退出

我不确定代码中的哪里出错了,因为我可以看到脚本成功连接到数据库,并且也正确地进行提交和断开连接。

非常感谢你的帮助。非常感谢

共有2个答案

万博涛
2023-03-14

我正在连接模拟数据库,因此出现了此错误,实际模式和模拟模式非常相似,以至于在连接到实际模式时,主机名中遗漏了一个字符。非常感谢您的建议。:)

贾烨
2023-03-14

是否确实连接到了正确的数据库,它表示“test”表不存在,请尝试执行以下操作:

INSERT INTO DB_NAME.test VALUES (...);
 类似资料:
  • 问题内容: 我正在尝试使用H2的runscript运行sql脚本。 该表之一包含一个长文本类型,该类型存储了一个xml文档(来自SAP数据库) 因此,Insert语句包含XML的长文本(大约200行XML),虽然很难看,但仍然可以使用。 在SQL解析期间,H2因ArrayOutOfBoundException而崩溃。 插入语句接受的长度是否有限制? 在nsert中,我使用刻度(如mysql中所使用

  • 我创建了一个模型使用在sql炼金术如下所示。 然后我将同一个模型移植到Snowflake数据库。 该模型有一个字段,声明为和。当我尝试插入数据到表使用雪花控制台。我必须提供,否则它不会插入数据并返回错误。 查询(成功执行,其中提供了)- 查询(当我完全忽略列时成功执行)- 查询(执行失败,其中为空)- 它返回了一个错误- 此方法的任务是将数据插入上述数据库表中。 来自SQLAlChemy的错误-

  • 我收到以下异常- org.hibernate.exception.sqlgrammarexception:无法插入:[Employee] 以下是详细信息: hibernate.cfg.xml employee.hbm.xml 请帮助解决异常。提前道谢!

  • 问题内容: 通讯: 但是我想通过Ajax将我的电子邮件插入数据库。我不希望页面被重定向,因为每次刷新页面时,都会将空值插入数据库。 我只希望我的电子邮件通过Ajax插入数据库,然后再发送电子邮件,即 应该消失,并且应该有“您已成功订阅”行。 任何简短的代码将非常有用..预先感谢您:) 问题答案: 尝试这个: 和在 不要使用已弃用的。 实际上,如果您的问题是将空值插入数据库,则尝试此操作,这里不需要

  • 我忙于一项学校作业,我有一个由三个表组成的基本access数据库。Book、Reader和BookRated,其中as BookRated是交集表,主键userName来自Reader和ISBN来自Book组成BookRated的复合主键(作为外键)。 我正试图将信息插入书签表中,但出现以下错误

  • 我正在尝试读取文本文件,然后对其应用一些数据验证规则。添加规则后,我将数据写回Excel文件。 但是当尝试将其写回excel文件时,我收到了这个错误: 线程“主”org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException:保存失败:保存包时发生错误:部分 /docProps/app.xml无法保存在流中,编组器org.apache.p