python cx_oracle使用dsn方式连接oracle数据库

最近连接公司oracle数据库取一些数据,发生很多问题,这里做下记录

如果公司已经配置好了ServiceName,那么就不需要IP和Port, 因为可以自动解析出来

Oracle Net 工具(命令)tnsping,是一个OSI会话层的工具,它用来:

1)验证名字解析(name resolution,当然是oracle自己的网络服务名)

2)远程的listener是否启动

tnsping解析成功代表tnsnames.ora,ip地址,tns_admin变量配置正确,服务端监听程序ok

 

一。首先确保dsn是通的,假如ServiceName是 MESEA, 打开命令窗口输入

tnsping MESEA, 如果得到下图表示没问题!这个如果通不过,连接数据库时可能会报listener错误

二。下面是一段简单的连接数据库并获取数据程式:

import cx_Oracle

#conn = cx_Oracle.connect('EDAVIEWER/EDAVIEWER123@MESEA')
conn = cx_Oracle.connect(user='EDAVIEWER',password='xxx',dsn='MESEA')
cursor = conn.cursor()

ret = cursor.execute("""SELECT * FROM LCDSYS.ARRAY_PDS_GLASS_SUMMARY_T 
WHERE param_name = 'H3PO4' AND param_collection='G52' AND sub_equip_id = '1AWEG030' 
AND step_id IN ('2350','1350') 
AND glass_start_time BETWEEN TO_DATE('2018/09/01 00:00:00','yyyy-MM-dd hh24:mi:ss') 
AND TO_DATE('2018/09/10 00:00:00','yyyy-MM-dd hh24:mi:ss') """)

print("ok")
print(ret)
i = 0
for item in ret:
    if i < 10:
        print(i,item)
    i+=1

#mm = ret.fetchone()

cursor.close()
conn.close()

#获取时间
#print(mm[4])

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值