在shell中获取Oracle查询结果可以使用以下方法:
- 使用sqlplus命令:sqlplus是Oracle提供的一个命令行工具,可以连接Oracle数据库并执行SQL语句。可以在shell脚本中使用sqlplus命令执行查询,并将结果输出到标准输出或者保存到文件中。例如:
#!/bin/bash
result=$(sqlplus -S username/password@hostname:port/service_name << EOF
set heading off
set feedback off
set pagesize 0
select column_name from table_name;
exit;
EOF
)
echo $result
- 使用Oracle Instant Client和编程语言:可以使用编程语言如Python、Java等连接Oracle数据库,并执行查询语句获取结果。在shell脚本中调用这些编程语言的命令或脚本来获取查询结果。例如,在Python中使用cx_Oracle库连接Oracle并执行查询:
import cx_Oracle
# 连接Oracle数据库
connection = cx_Oracle.connect('username/password@hostname:port/service_name')
# 创建游标
cursor = connection.cursor()
# 执行查询语句
cursor.execute('SELECT column_name FROM table_name')
# 获取查询结果
result = cursor.fetchall()
# 关闭游标和连接
cursor.close()
connection.close()
# 输出查询结果
for row in result:
print(row[0])
在shell脚本中调用Python脚本来获取查询结果:
#!/bin/bash
result=$(python script.py)
echo $result
以上是两种常用的方法,选择适合自己的方法来获取Oracle查询结果。