用jython 访问Oracle数据库
来源:互联网 发布:unity3d中文论坛 编辑:程序博客网 时间:2024/05/22 10:54
准备工作
下载
http://jaist.dl.sourceforge.net/sourceforge/zxjdbc/zxJDBC-2.1.tar.gz
http://jaist.dl.sourceforge.net/sourceforge/jython/jython_installer-2.2.1.jar
根据自己的jdk版本下载对应的ojdbc版本
http://download.oracle.com/otn/utilities_drivers/jdbc/10203/ojdbc14.jar
http://download.oracle.com/otn/utilities_drivers/jdbc/111060/lib/ojdbc5.jar
http://download.oracle.com/otn/utilities_drivers/jdbc/111060/lib/ojdbc6.jar
安装(需要已经安装了jdk/jre?)
java -jar jython_installer-2.2.1.jar 安装到C:/jython2.2.1
将zxJDBC.jar解压缩到c:/tmp
将mm.mysql-2.0.4-bin.jar复制到c:/tmp
C:/jython2.2.1>set CLASSPATH=c:/tmp/ojdbc5.jar;c:/tmp/zxJDBC.jar;%CLASSPATH%
启动Oracle服务器
进入jython环境访问Oracle
编辑文件c:/tmp/ora.py
from oracle.jdbc.driver import OracleDriver
from java.sql import DriverManager
def connect(un, pw, sid, host, port):
driver = OracleDriver()
DriverManager.registerDriver(driver)
connection = "jdbc:oracle:thin:@%s:%s:%s" % (host, port, sid)
conn = DriverManager.getConnection(connection, un, pw)
return conn
def doStuff(conn):
stmt = conn.createStatement()
rset = stmt.executeQuery("SELECT banner FROM sys.v_$version")
while (rset.next()):
print rset.getString(1)
stmt.close()
if __name__ == "__main__":
un = 'ebc20'
pw = 'abc'
sid = 'abc'
host = '10.4.231.16'
port = '1521'
conn = connect(un, pw, sid, host, port)
doStuff(conn)
C:/jython2.2.1>jython /tmp/ora.py
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for HPUX: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
要用jython自己封装的dbexts库
编辑一个名为dbexts.ini的文件保存到c:/jython2.2.1/lib
[default]
name=mysqltest
[jdbc]
name=ora
url=jdbc:oracle:thin:@10.4.231.16:1521:abc
user=ebc20
pwd=abc
driver=oracle.jdbc.driver.OracleDriver
datahandler=com.ziclix.python.sql.handler.OracleDataHandler
进入jython
>>> from dbexts import dbexts
>>> oracon = dbexts("ora", "c:/jython2.2.1/lib/dbexts.ini")
>>> oracon.isql("SELECT * FROM v$version")
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for HPUX: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
5 rows affected
- 用jython 访问Oracle数据库
- 用jython 访问mysql数据库
- Jython操作MySQL数据库
- 用SQL语言访问Oracle数据库
- spring用jdbc访问oracle数据库方法
- DOMINIO 访问 oracle数据库
- Oracle数据库的访问
- C++访问Oracle数据库
- java访问Oracle数据库
- 访问oracle数据库
- ORACLE 跨数据库访问
- 远程访问oracle数据库
- oracle访问另一个数据库
- Oracle sqlplus访问数据库
- Groovy访问oracle数据库
- oracle数据库访问类
- C++访问ORACLE数据库
- c#访问oracle数据库
- Delphi面向对象编程的20条规则
- 数组最大-最小元素的查找算法
- 日志系统开发学习总结(C#)
- 我有一群可以一起分享快乐的亲人和朋友!
- ruby
- 用jython 访问Oracle数据库
- 关于css的命名
- 【原创】10gDataguard最大性能模式
- VB.net 2005 读出系统所有串口
- 正则式的典型运用
- Porting Linux App to Windows
- Sharepoint 站点下应用程序虚拟路径下出现"不能进行输出缓存处理",错误ID 5787 解决方法
- Windows2003-控制面板失效的解决办法
- ASD Practices敏捷开发实践