zoukankan      html  css  js  c++  java
  • jmeter笔记(二):通过jython连接Oracle数据库

    (一)说明

            本文说明在jmeter中如何通过jython连接Oracle数据库。

            因为python cx_oracle库底层是用C实现的,在jython中用不了,这里用纯Java实现的zxJDBC。

            zxJDBC 符合  Python DB API  规范。

            zxJDBC已经整合到jython中,所以不需要另外安装。

            说明文档:http://web.mit.edu/jython/jythonRelease_2_2alpha1/Doc/zxjdbc.html

    (二)通过zxJDBC连接Oracle数据

        自己电脑没装Oracle数据库,就不截运行成功的图了,不过在公司内网是验证过没问题的。

        这里要注意2点:

             1、要设置默认编码格式,不然会报错

             2、字典DADABASE中NAME指的是INSTANCE_NAME,数据库中用下面的SQL查询可以得到

                SELECT INSTANCE_NAME FROM v$instance

     1 import sys
     2 sys.path.append('C:UserslaiquAppDataLocalProgramsPythonPython27Lib')
     3 sys.path.append('C:UserslaiquAppDataLocalProgramsPythonPython27Libsite-packages')
     4 reload(sys)   
     5 sys.setdefaultencoding('utf8')     #设置默认编码方式
     6 from com.ziclix.python.sql import zxJDBC
     7 
     8 DADABASE = {
     9     'NAME': 'XXXX',  # 数据库实例名
    10     'USER': 'XXX',  # 用户名
    11     'PASSWORD': 'XX',  # 密码
    12     'HOST': 'XX',  # 服务器ID(或域名)
    13     'PORT': 'XXX',  # 端口号
    14 
    15 }
    16 
    17 def select(query_sql):
    18     driver = "oracle.jdbc.driver.OracleDriver"
    19     url = "jdbc:oracle:thin:@{}:{}:{}".format(DADABASE["HOST"],DADABASE["PORT"],DADABASE["NAME"])
    20     conn = zxJDBC.connect(url , DADABASE["USER"] , DADABASE["PASSWORD"] , driver)
    21     cur = conn.cursor()
    22     cur.execute(query_sql)
    23     data = cur.fetchall()
    24     conn.close()
    25     return data
    26 
    27 data = select(query_sql="select * from XXX where rownum < 3")
  • 相关阅读:
    《编写高质量代码》读书笔记
    IL,Emit之OpCodes说明(备查)
    每天进步一点点
    DOCTYPE 与浏览器模式分析[转]
    一个EL IF表达式引发的血案
    JVM系列文章
    SunOs设置环境变量
    Solaris系统查看进程与端口对应关系的命令
    jsp 报错调试
    vi命令提示:Terminal too wide
  • 原文地址:https://www.cnblogs.com/simple-free/p/12764061.html
Copyright © 2011-2022 走看看