0
我是新來設置與Tomcat 8 DataSources並遇到麻煩。下面是我的配置:JTDS的Tomcat 8配置數據源
WEB-INF/web.xml中
<web app ... >
<servlet> ... </servlet>
<servlet-mapping> ... </servlet-mapping>
...
<resource-ref>
<description>My DB</description>
<res-ref-name>jdbc/mydb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
WEB-INF/context.xml的
<Context>
<Resource name="jdbc/mydb"
auth="Container"
type="javax.sql.DataSource"
username="xirt"
password="*******"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://xirt.rds.amazonaws.com:1433/mydb"
maxActive="15"
maxIdle="3" />
</Context>
的程序代碼:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/mydb");
System.out.println("DataSource: "+ds);
Connection connection = ds.getConnection();
我運行在亞馬遜EC2上,所以用yum安裝了tomcat8:
sudo yum install java-1.8.0
sudo yum install tomcat8
我已經收到以下錯誤:
ClassNotFoundException: org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory
- 這似乎通過從他們的網站
apache-tomcat-8.0.36.zip
文件複製tomcat-dbcp.jar
被解析爲$CATALINA_HOME/lib
- 這似乎通過從他們的網站
然後:
java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'
我去了我的心與這一個...!
要重現,只需在AWS上創建一個AMI實例,安裝JTDS驅動程序並嘗試連接到SQL服務器。
您是否閱讀了關於如何在Amazon EC2上配置JDBC連接的文檔? – Andreas
如果我使用DriverManager.getConnection(),我沒有問題,但這不是在Servlet中執行此操作的正確方法。這似乎是特定於Tomcat/JNDI – xirt