Saturday, May 30, 2009

今天

周六,中午和老婆陪姐姐去东坡吃了饭,之后去潘家园眼镜城给姐挑眼镜,未果。晚上姐夫来家住。明天还可以休一天,很好。

Friday, May 22, 2009

jython connect oracle via jdbc[ZT]

下载

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

Wednesday, May 06, 2009

记录

五一过完了,贝贝开始新的疗程,昨天开始住院了。在Teliwu买的画送到了,这次买画可赚到了,呵呵,老婆英明啊。
晚上跟US有电话会,大家一起吃了晚饭,然后跟说话很慢条斯理的US DM head开了一小时会,基本上我们遇到的问题,他们也没办法解决,再想办法吧。一起顺便鄙视了一下法国人的办事效率。