使用Python连结Oracle,利用cx_Oracle
Oracle client install这里就不说明,可以google搜寻如何安装。
Oracle tnsnames.ora 档案範例,要注意的三个地方 Host Name/Port Number/Service Name,填入Python程式中。
SYSTEM_OCON =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = Host Name)(PORT = Port Number))(LOAD_BALANCE = YES)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = Service Name)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)
Python 连结程式:
import cx_Oracleimport ioimport syssys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8')dsn_tns = cx_Oracle.makedsn('Host Name', 'Port Number', service_name='Service Name') conn = cx_Oracle.connect(user=r'User Name', password='Personal Password', dsn=dsn_tns)c = conn.cursor()c.execute('select * from database.table')for row in c: print (row[0], '-', row[1])conn.close()
程式参考
以上这一个连接语法可以成功。
底下使用方式,会一直出现错误无法连接Oracle资料库。
connection = cx_Oracle.connect('使用者名称/密码@主机名称/服务名称', encoding='UTF-8', nencoding='UTF-8')
程式参考