因为服务器上的cx_Oracle导入一直有问题,尝试使用jdbc进行连接
-
JDBC:(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。
-
Python使用jdbc进行连接,需要使用jaydebeapi
(cmd窗口安装)
先以连接oracle为例,
需要:
url:‘jdbc:oracle:thin:@31.0.***.***:1521:orcl’(ip:端口:服务名)
用户名,密码
驱动:‘oracle.jdbc.OracleDriver’
驱动所在的路径:代码里的jarFail
(Ps:url中的thin表示连接时采用thin模式(oracle中有两种模式oci和thin)
thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动的jar包就行。
oci是一种胖客户端的连接方式,即采用这种连接方式需要安装oracle客户端。)
import jaydebeapi
url = 'jdbc:oracle:thin:@31.0.***.***:1521:orcl'
user = '****'
password = '****'
dirver = 'oracle.jdbc.OracleDriver'
jarFile = 'D:/ojdbc6.jar'
# jdbc连接
conn=jaydebeapi.connect(dirver,url,[user,password],jarFile)
# 判断连接是否成功
if conn:
print('ok')
# 关闭连接
conn.close()
驱动下载链接
官方链接:https://mvnrepository.com/artifact/com.oracle/ojdbc6/11.2.0.1.0
百度网盘:
https://pan.baidu.com/s/1RiR6t7DG1QqwrIknSqzvLw
提取码:3j99
网盘里有好几个ojdbc连接oracle的包,不行的话就试试别的版本
连接hive
import jaydebeapi
jarFile='D:/inceptor-driver-6.0.2.jar' # 驱动的jar包位置
dirver = 'org.apache.hive.jdbc.HiveDriver' #驱动
url = 'jdbc:hive2://ip:端口/;guardianToken=已知的token'(如果需要填token的话)
url = 'jdbc:hive2:/ip:端口/default(数据库)'
# eg:url = 'jdbc:hive2://31.0.***.***:****/;guardianToken=****'
conn = jaydebeapi.connect(dirver, url,
['用户名','密码'], jarFile)
if conn:
print('OK')
conn.close()
连接hive的驱动jar包(inceptor-driver-6.0.2.jar)也在上面的网盘里~
(拿走请记得点赞哦~)