Sql 用JSTL访问数据库

Sql 用JSTL访问数据库,sql,ms-access,jstl,Sql,Ms Access,Jstl,你好,我正在尝试用JSTL连接到一个简单的Access数据库 我设置了一个系统DSN,指向名为“book dB”的数据库 每次尝试打开站点时,我都会收到错误消息 无法获取连接,数据源无效:“java.lang.NullPointerException” 这是我的密码 <sql :setDataSource var="dataSource" driver="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:book dB" />

你好,我正在尝试用JSTL连接到一个简单的Access数据库 我设置了一个系统DSN,指向名为“book dB”的数据库

每次尝试打开站点时,我都会收到错误消息 无法获取连接,数据源无效:“java.lang.NullPointerException”

这是我的密码

<sql :setDataSource var="dataSource" 
  driver="sun.jdbc.odbc.JdbcOdbcDriver"
  url="jdbc:odbc:book dB"   
/>

<sql:query var ="RS" >
  dataSource ="${dataSource}"
  SELECT * FROM Books
  WHERE BookTitle = 'Cooking for children'
</sql:query>

dataSource=“${dataSource}”
从书本中选择*
其中书名=‘儿童烹饪’

我不想使用Access或JSTL,但它们是大学作业所必需的,但我看不出我的代码有什么问题。

正如HansUp所说,我解决了这个问题,用32位运行tomcat,为此我必须将JAVA_HOME和JRE_HOME环境变量更改为指向32位JAVA安装,而不是64位版本


由于问题的原因,访问驱动程序是32位的,我相信引用的ACE访问驱动程序也会解决问题,并允许我继续以64位运行Java。

只是猜测。。。如果您的Java是64位的,那么您需要Access 64位ACE驱动程序。您的猜测是正确的,Java是以64位运行的,而Access驱动程序是32位的。我还没有通过设置tomcat使其在32位java中运行来让它工作。我将不得不查找access 64位驱动程序,因为它可能会派上用场并解决许多令人头痛的问题。