Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库

Posted fameg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库相关的知识,希望对你有一定的参考价值。

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

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

 1 import jpype,os,time,timer
 2 from jpype import java
 3 from jpype import javax
 4 
 5 HOST=192.168.48.103
 6 PORT=9999
 7 USER=‘‘
 8 PASS=‘‘
 9 
10 URL = "service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi" % (HOST, PORT)
11 print(1,URL)
12 jvmPath = jpype.getDefaultJVMPath()
13 print(jvmPath)
14 #this it the path of your libjvm /usr/lib/jvm/sun-jdk-1.6/jre/lib/amd64/server/libjvm.so on linux
15 # jpype.startJVM("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll")
16 if not jpype.isJVMStarted():
17     jpype.startJVM(jvmPath)
18 jpype.java.lang.System.out.println(Hello world!)
19 # print(jpype.startJVM("C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll"))
20 jhash  = java.util.HashMap()
21 jarray = jpype.JArray(java.lang.String)([USER,PASS])
22 jhash.put(javax.management.remote.JMXConnector.CREDENTIALS, jarray);
23 jmxurl = javax.management.remote.JMXServiceURL(URL)
24 print(2,jmxurl)
25 jmxsoc = javax.management.remote.JMXConnectorFactory.connect(jmxurl,jhash)
26 try:
27     connection = jmxsoc.getMBeanServerConnection();
28 except Exception as e:
29     print(e)
30 print(3,connection)
31 #
32 #
33 while True:
34     time.sleep(60)
35     object="java.lang:type=Threading"
36     attribute="ThreadCount"
37     attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
38     print(4,attribute, attr)
39     #
40     #Memory is a special case the answer is a Treemap in a CompositeDataSupport
41     object="java.lang:type=Memory"
42     attribute="HeapMemoryUsage"
43     attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
44     print(5,attr.contents.get("used"))
45     #ceshi
46     object="kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec"
47     attribute="Count"
48     attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
49     print(6,attribute,attr)
50 
51     object="java.lang:type=OperatingSystem"
52     attribute="Version"
53     attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
54     print(7,attribute,attr)
55 
56     object="kafka.server:type=ReplicaManager,name=PartitionCount"
57     attribute="Value"
58     attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
59     print(8,attribute,attr)

安装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连接数据库的主要内容,如果未能解决你的问题,请参考以下文章

Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库

python调用java API

python调用java API

python调用jar包内方法

Python调用Java代码部署及初步使用

Python调用Java(基于Ubuntu 18.04)