pip install JPype1或下载JPype1-0.7.0.tar.gz包

经常出现需要安装VC++服务等

测试代码如下:
 # Author: zfh
import jpype,os,time,timer
from jpype import java
from jpype import javax HOST='192.168.48.103'
PORT=9999
USER=''
PASS='' URL = "service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi" % (HOST, PORT)
print('URL-->',URL)
jvmPath = jpype.getDefaultJVMPath()
print('jvmPath-->',jvmPath)
#this it the path of your libjvm /usr/lib/jvm/sun-jdk-1.6/jre/lib/amd64/server/libjvm.so on linux
# jpype.startJVM("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll")
if not jpype.isJVMStarted():
jpype.startJVM(jvmPath)
jpype.java.lang.System.out.println('Hello world!')
# print(jpype.startJVM("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll"))
jhash = java.util.HashMap()
jarray = jpype.JArray(java.lang.String)([USER,PASS])
jhash.put(javax.management.remote.JMXConnector.CREDENTIALS, jarray);
jmxurl = javax.management.remote.JMXServiceURL(URL)
jmxsoc = javax.management.remote.JMXConnectorFactory.connect(jmxurl,jhash)
try:
connection = jmxsoc.getMBeanServerConnection();
except Exception as e:
print(e)
print('connection-->',connection)
#
#
while True:
time.sleep(60)
object="java.lang:type=Threading"
attribute="ThreadCount"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print('ThreadCount-->',attribute, attr)
#
#Memory is a special case the answer is a Treemap in a CompositeDataSupport
object="java.lang:type=Memory"
attribute="HeapMemoryUsage"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print('HeapMemoryUsage-->',attr.contents.get("used"))
#ceshi
object="kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec"
attribute="Count"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print('Count-->',attribute,attr) object="java.lang:type=OperatingSystem"
attribute="Version"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print('Version-->',attribute,attr) object="kafka.server:type=ReplicaManager,name=PartitionCount"
attribute="Value"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print('Value-->',attribute,attr)
运行结果如下:(记录一下jvmPath)
 URL--> service:jmx:rmi:///jndi/rmi://192.168.48.103:9999/jmxrmi
jvmPath--> C:\Program Files\Java\jre1.8.0_211\bin\server\jvm.dll
Hello world!
connection--> javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection@531d72ca
ThreadCount--> ThreadCount 60
HeapMemoryUsage--> 156563848
Count--> Count 0
Version--> Version 2.6.32-431.el6.x86_64
Value--> Value 24

安装pip install JayDeBeApi 或下载JayDeBeApi-1.1.1.tar.gz(安装JayDeBeApi依赖JPype1)

# Author: zfh
import jaydebeapi
url = 'jdbc:oracle:thin:@192.168.48.102:1521/orcl'
user = 'scott'
password = 'scott'
dirver = 'oracle.jdbc.driver.OracleDriver'
jarFile = 'D:\Program Files (x86)\Python\ojdbc6.jar'
sqlStr = 'select * from emp'
# conn=jaydebeapi.connect('oracle.jdbc.driver.OracleDriver','jdbc:oracle:thin:@127.0.0.1:1521/orcl',['hwf_model','hwf_model'],'E:/pycharm/lib/ojdbc14.jar')
conn = jaydebeapi.connect(dirver, url, [user, password], jarFile)
curs = conn.cursor()
curs.execute(sqlStr)
result = curs.fetchall()
for row in result:
print(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])
curs.close()
conn.close()

Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库的更多相关文章

  1. Java操作数据库——使用JDBC连接数据库

    Java操作数据库——使用JDBC连接数据库 摘要:本文主要学习了如何使用JDBC连接数据库. 背景 数据持久化 数据持久化就是把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应 ...

  2. 在Python程序中调用Java代码的实现

    <原创不易,转载请标明出处:https://www.cnblogs.com/bandaobudaoweng/p/10785766.html> 前言 开发Python程序,需求中需要用到Ja ...

  3. Java Dao模式通过JDBC连接数据库的操作

    Java程序访问数据库: 1.获取数据库厂商提供的驱动(jdbc接口的实现类) 如ojdbc14.jar——Oracle数据库驱动jar包 mysql-connector-java-5.1.8-bin ...

  4. python 调用java脚本的加密(没试过,先记录在此)

    http://lemfix.com/topics/344 前言 自动化测试应用越来越多了,尤其是接口自动化测试. 在接口测试数据传递方面,很多公司都会选择对请求数据进行加密处理. 而目前为主,大部分公 ...

  5. JPype:实现在python中调用JAVA

    一.JPype简述 1.JPype是什么? JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足. 2.JPype ...

  6. python调用java程序--jpype

    官方网站:http://jpype.sourceforge.net/ 官方使用文档:http://jpype.sourceforge.net/doc/user-guide/userguide.html ...

  7. 使用 jpype 库实现 Python 调用 java 的 jar 包中的功能

    一.what's the JPype JPype 是一个能够让 python 代码方便地调用 Java 代码的工具.在某些时候 java 的能力更强,我们可以用 java 写一个模块的功能然后用 Py ...

  8. python - jpype模块,python调用java的接口

    转载自: http://www.cnblogs.com/junrong624/p/5278457.html https://www.cnblogs.com/fanghao/p/7745356.html ...

  9. Python 的 JPype 模块调用 Jar 包

    背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接口时需要依赖Python:而大多数公司的扩展工具包使 ...

随机推荐

  1. thinkphp5.0 空模块、空控制器、空方法

    空模块 'exception_handle' => function(Exception $e){ // 参数验证错误 if ($e instanceof \think\exception\Va ...

  2. [Java]ITOO初步了解 标签: javajbosstomcat 2016-05-29 21:14 3367人阅读 评论(34)

      开始接触Java的ITOO了,这两天在搭环境,结果发现,哇,好多没接触过的东西,先写篇博客来熟悉一下这些工具. JBoss 基于Tomcat内核,青胜于蓝   Tomcat 服务器是一个免费的开放 ...

  3. Libevent:8Bufferevents高级主题

    本章描述的是Libevent的bufferevent实现的一些高级特性,这对于普通应用来说并非必须的.如果你只是学习如何使用bufferevent,则应该跳过本章去阅读evbuffer的章节. 一:成 ...

  4. Django框架登录验证及产生随机验证码的实例

    1:views视图代码 # 登录验证 def login(request): # 使用ajax请求可以使用判断 # if request.is_ajax(): if request.method == ...

  5. 冒泡排序&&选择排序 以及时间效率对比

    package com.test4; import java.util.*; //Calendar 显示时间 /** * @author qingfeng * 功能:冒泡排序 */ public cl ...

  6. Libev源码分析08:Libev中的信号监视器

    Libev中的信号监视器,用于监控信号的发生,因信号是异步的,所以Libev的处理方式是尽量的将异步信号同步化.异步信号的同步化方法主要有:signalfd.eventfd.pipe.sigwaiti ...

  7. HZOJ 回家

    这篇博客大部分在写我的错解……明明很简单的一道题,知道正解后10分钟AC,然而几个错解打的想死…… 错解1 WA40: 鬼知道这40分哪来的……这也是考试最后很无奈地交上去的代码,最后剩20分钟时发现 ...

  8. 3331: [BeiJing2013]压力

    3331: [BeiJing2013]压力 LCA+树上差分,和之前类似的题差不多,就是多了个v-dcc缩点,唯一要注意的就是判断是否是割点,对于不是割点的点,如果他是起点或重点,ans++,和差分没 ...

  9. celery 计划任务使用

    流程: 用户提交任务 --- > Celery --- > Broker 中间商(可以是数据库,redis) ---> 最后让celery 中的 worker 执行任务 1 单独使用 ...

  10. hdu 2473 Junk-Mail Filter (暴力并查集)

    Problem - 2473 为什么标题写的是暴力并查集?因为我的解法跟网上的有所不同,方法暴力很多. 先解释题意,这是一个模拟处理垃圾邮件的问题.垃圾邮件要根据它们的性质进行分类.对于10w个邮件, ...