gpt4 book ai didi

java - Tomcat 7 : How do I specify Database resource when making connection to Microsoft Access

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:52 27 4
gpt4 key购买 nike

我知道如何将特定数据源连接池连接到 Tomcat 7 中的 mysql 服务器,添加

<Resource type="javax.sql.DataSource"
name="jdbc/TestDB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mysql"
username="mysql_user"
password="mypassword123"
/>

到我的META-INF/context.xml

  1. 谁能告诉我如何对 Microsoft Access 执行此操作?
  2. 我是否需要 JDBC - ODBC 桥来建立从我的 Java 网络应用程序到 Microsoft Access 的连接?

更新:这是我的尝试,但我遇到了SQLException

<Resource  type="javax.sql.DataSource"
name="jdbc-odbc/qtl"
maxActive="100"
maxIdle="30"
maxWait="10000"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=/Users/KingdomHeart/resources/db.mdb"
/>

当我这样做时,我得到了 WARNING: Unexpected exception resolving reference
java.sql.SQLException:sun.jdbc.odbc.JdbcOdbcDriver

更新 2::我尝试编写一个单独的程序来连接到 Microsoft Access 数据库。我得到了 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 这是我的代码。一定是我的类路径中需要一个 jar 驱动程序,不是吗?

public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String fileName = "/Users/KingdomHeart/resources/MyTable.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database += fileName + ";DriverID=22;READONLY=true";
Connection con = DriverManager.getConnection(database, "", "");
System.out.println("here");
} catch (SQLException ex) {
Logger.getLogger(TestJdbcOdbc.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(TestJdbcOdbc.class.getName()).log(Level.SEVERE, null, ex);
}
}

最佳答案

我会使用这样的 URL:

jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\path\\your-access-database.mdb

JDBC 驱动类是 sun.jdbc.odbc.JdbcOdbcDriver(至少我上次使用它是在 2004 年)。

我更喜欢这种风格,因为它省去了创建 ODBC 数据源的步骤。它保留文件在 Java 部署中的精确位置。

是的,您需要 JDBC-ODBC 桥(除非您购买了商业 JDBC 驱动程序)。

您应该了解在多用户环境中使用 Access 的陷阱:

http://msdn.microsoft.com/en-us/library/aa167840(v=office.11).aspx

我个人的建议是使用 MySQL 或 PostgreSQL 而不是 Access。

关于在 Tomcat 上设置 JNDI 数据源,您可能还想阅读以下内容:

http://craicpropagation.blogspot.com/2009/02/how-to-use-same-jndi-resource-name-on.html

关于java - Tomcat 7 : How do I specify Database resource when making connection to Microsoft Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393266/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com