当前位置:七道奇文章资讯数据防范Oracle防范
日期:2012-04-14 04:54:00  来源:本站整理

Python模拟Oracle的SQL/PLUS工具的实现办法[Oracle防范]

赞助商链接



  本文“Python模拟Oracle的SQL/PLUS工具的实现办法[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  loginstr=raw_input("login>").strip();

  if loginstr=="" :

  continue;

  elif loginstr in ["exit","exit;"]:

  print("…bye…");

  exit();

  conn = getConnect(loginstr);

  if connectresult==1:

  break;

  except KeyboardInterrupt:

  print("^C");

  continue;

  while 1:

  sqlstr="";

  try:

  sqlstrline=raw_input(promptstr+">").strip();

  if sqlstrline=="" :

  continue;

  elif sqlstrline.lower() in ["exit","exit;"]:

  print("…bye…");

  exit();

  elif sqlstrline[0:7].lower()=="connect" :

  conn = getConnect(sqlstrline[8:]);

  elif sqlstrline.lower() in ["disconnect","disconnect;"] :

  conn.close();

  print("Connection closed.");

  elif sqlstrline[0:4].lower()=="host" :

  os.system(sqlstrline[4:])

  else:

  sqlstrsqlstr=sqlstr+sqlstrline+'\n';

  while sqlstrline[-1]!=";" :

  sqlstrline=raw_input().strip();

  sqlstrsqlstr=sqlstr+sqlstrline+'\n';

  sqlstrsqlstr=sqlstr[0:len(sqlstr)-2]

  try:

  cursor = conn.cursor();

  cursor.execute(sqlstr);

  if sqlstr[0:6].lower()=="select" :

  cols=[]

  for col in cursor.description:

  print(getcolformatstr(col) % (col[0])),

  print('');

  for col in cursor.description:

  if col[1]==cx_Oracle.NUMBER:

  print('-'*12),;

  else:

  if col[2]<=32:

  print('-'*col[2]),;

  else:

  print('-'*32),;

  print('');

  recs = cursor.fetchmany(fetchsize);

  while len(recs)>0:

  for row in recs:

  for i in range(len(row)):

  if row[i]!=None:

  print(getcolformatstr(cursor.description[i]) % row[i]),;

  else:

  print(getcolformatstr(cursor.description[i]) % ''),;

  print('')

  recs = cursor.fetchmany(fetchsize);

  print(str(cursor.rowcount)+" rows selected.");

  elif sqlstr[0:6].lower()=="insert" :

  print(str(cursor.rowcount)+" rows inserted.");

  elif sqlstr[0:6].lower()=="update" :

  print(str(cursor.rowcount)+" rows updated.");

  elif sqlstr[0:6].lower()=="delete" :

  print(str(cursor.rowcount)+" rows deleted.");

  elif sqlstr[0:5].lower()=="merge" :

  print(str(cursor.rowcount)+" rows merged.");

  elif sqlstr[0:6].lower()=="commit" :

  print("Commit complete.");

  elif sqlstr[0:6].lower()=="rollback" :

  print("Rollback complete.");

  else :

  print("sql execute complete.");

  except cx_Oracle.InterfaceError as exc:

  error, = exc.args

  print(exc);

  except cx_Oracle.DatabaseError as exc:

  error, = exc.args

  print(error.message);

  except KeyboardInterrupt:

  print("^C");

  continue;

  分外阐明:纯属个人学习python的代码,未考虑扩大性与性能,未经过专业测试,不倡议拿到实际工作中当SQLPLUS用.

  关于Python模拟Oracle的SQL/PLUS工具的实现办法就介绍到这里了,但愿本次的介绍可以对您有所收获!

上一页  [1] [2] 


  以上是“Python模拟Oracle的SQL/PLUS工具的实现办法[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Python Ubuntu 下的IDE挑选
  • Ubuntu 10.04安装stackless python
  • Python模拟Oracle的SQL/PLUS工具的实现办法
  • Python帮助安全测试常用代码示例
  • <b>LINUX下非交互加入root权限用户和改正密码的python小程序</b>
  • 在Windows Server 2008 (IIS7)中配置利用 Python 3.0[图文]
  • <b>C++扩大和嵌入Python</b>
  • 脚本系统:c++内嵌python
  • <b>RedHat EL5 布置Trac 编译Apache mod_python mod_ldap</b>
  • <b>CentOS系统更新Python</b>
  • 借助Oracle数据库实现Python数据长期性-PLSQL
  • <b>利用Oracle数据库实现Python数据长期-开辟技术</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .