[设为首页] [加入收藏]    
提 示: 站长书库上线了。 站长招聘上人才沃
站长首页  |  站长下载  |  站长工具
站长素材  |  广告代码  |  网页特效
站长书库  |  站长招聘  |  建站软件
  您当前的位置: 首页 > 数据库 > Oracle >
讲解jython访问Oracle数据库的具体步骤

需要的准备工作:

下载

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 OracleDriverfrom java.sql import DriverManagerdef 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 conndef 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.pyOracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/SQL Release 10.2.0.3.0 - ProductionCORE    10.2.0.3.0      ProductionTNS for HPUX: Version 10.2.0.3.0 - ProductionNLSRTL Version 10.2.0.3.0 - Production

然后用jython自己封装的dbexts库。

最后编辑一个名为dbexts.ini的文件保存到c:\jython2.2.1\lib。

[default]name=mysqltest[jdbc]name=oraurl=jdbc:oracle:thin:@10.4.231.16:1521:abcuser=ebc20pwd=abcdriver=oracle.jdbc.driver.OracleDriverdatahandler=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 - 64biPL/SQL Release 10.2.0.3.0 - ProductionCORE    10.2.0.3.0      ProductionTNS for HPUX: Version 10.2.0.3.0 - ProductionNLSRTL Version 10.2.0.3.0 - Production5 rows affected

    关于我们 - 联系我们 - 广告服务 - 网站地图 - 版权声明 - 人才招聘