我连接到JDBC时收到java.lang.ExceptionInInitializerError

时间:2013-05-14 01:48:57

标签: java mysql servlets jdbc

我在Eclipse中使用Tomcat 7.0运行服务器。 我有一个链接到Servlet文件的html文件,该文件有一个输入值的表单。 当我在html文件中输入任何值时,它会转发到servlet文件,而servlet文件会有一些代码来连接JDBC。 代码非常简单。

data = request.getPrameter("name");
Connection conn = DriverManager.getConnection(url, username, password);

我已导入要使用的所有内容。 此外,在tomcat服务器中,我在catalina.policy中添加了权限

grant{
    permission java.net.SocketPermission "*:1-65535", "connect,resolve";
};

我不知道为什么我会收到这个错误。 如果需要,我很乐意为您提供更多信息! 请帮帮我:)。

2 个答案:

答案 0 :(得分:0)

我有detailMessage说访问被拒绝(“java.util.PropertyPermission”“file.encoding”“read”)。 所以我添加了java.util.PropertyPermission“file.encoding”,“read”的权限;并且全部固定 如果这可以帮助任何遇到麻烦的人

,那就太好了

答案 1 :(得分:0)

当我使用jdbc连接到teradata数据库时遇到了这个问题, 那是因为它需要两个jar文件,但是我只给出了一个jar文件: jdbc_driver_loc ='/opt/spark-2.3.1-bin-without-hadoop/jars/terajdbc4-16.20.00.06.jar'

jpype._jexception.ExceptionInInitializerErrorPyRaisable: java.lang.ExceptionInInitializerError

当我添加另一个时,它会起作用:

jdbc_driver_loc ='/opt/spark-2.3.1-bin-without-hadoop/jars/terajdbc4-16.20.00.06.jar,/opt/spark-2.3.1-bin-without-hadoop/jars/tdgssconfig- 16.20.00.06.jar'

整个样本如下:

[root@myhost transfer]# cat test_conn.py 
import jaydebeapi
from contextlib import closing


jclassname='com.teradata.jdbc.TeraDriver'
jdbc_driver_loc = '/opt/spark-2.3.1/jars/terajdbc4-16.20.00.06.jar,/opt/spark-2.3.1/jars/tdgssconfig-16.20.00.06.jar'
jdbc_driver_name = 'com.teradata.jdbc.TeraDriver'
host='my_teradata.address'

url='jdbc:teradata://' + host + '/TMODE=TERA'
login="teradata_user_name"
psw="teradata_passwd"

sql = "SELECT COUNT(*) FROM  A_TERADATA_TABLE_NAME where month_key='202009'"


conn = jaydebeapi.connect(jclassname=jdbc_driver_name,
                                  url=url, 
                                  driver_args=[login, psw],
                                  jars=jdbc_driver_loc.split(","))

with closing(conn) as conn:
    with closing(conn.cursor()) as cur:
        cur.execute(sql)
        print(cur.fetchall())
   
[root@myhost transfer]# python test_conn.py
[(7734133,)]
[root@myhost transfer]#