日期:2014-05-16  浏览次数:20473 次

iBatis 连接 Access数据库的怪异问题
Hi,
我用一样的办法用iBatis连接Oracle和Mysql操作数据都很正常。但是改为Access数据库后就怪事无常!
如下:
我的连接配置:
jdbc.driverClassName=sun.jdbc.odbc.JdbcOdbcDriver
jdbc.url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\xgll.mdb
jdbc.username=
jdbc.password=


    <!-- 本地 Apache Commons DBCP 数据源  -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
    <property name="url"><value>${jdbc.url}</value></property>
	<property name="username"><value>${jdbc.username}</value></property>
	<property name="password"><value>${jdbc.password}</value></property>
	</bean>


SqlMap配置文件如下:
    <!-- 删除所有数据 -->
    <delete id="deleteRootnewsDomains" parameterClass="map">
        delete from rootnews
    </delete>


控制台报出的错误信息:
--- The error occurred while executing update.  
--- Check the          delete from rootnews     .  
--- Check the SQL Statement (preparation failed).  
--- Cause: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented
Caused by: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented


我的疑惑:
1.拼出来的SQL语句后面怎么多了一个点号
2.jdbc.url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\xgll.mdb这里配置的绝对路径如何才能改为相对路劲!
1 楼 rtdb 2007-11-28  
是在说“ACCESS不支持 delete all”吧。
2 楼 JaNer 2007-11-28  
不是的。是所有的增删查改的最后都会拼上一个.!
PS:这种解决实际问题的帖子成立入门帖,那些讨论iBatis好还是Hibernate好的帖子居然是精华帖子。什么世道啊!
我强烈抗议!
3 楼 rtdb 2007-11-28  
我看那个点是LOG加上的。

因为ERROR is “Optional feature not implemented”
意为“功能未实现”而不是 SQL语法错误。
4 楼 ddandyy 2007-11-28  
很简单

这个问题是不了解才会出现的  当然是入门问题

至于说那个讨论  当然是用了之后才会讨论 既然用了 而且能说出哪好哪坏 怎么能算是入门呢
5 楼 JaNer 2007-11-28  
不太理解!  我只要包数据库连接改为Oracle,其他什么也不动就一切正常!
#jdbc.driverClassName=sun.jdbc.odbc.JdbcOdbcDriver
#jdbc.url=jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\xgll.mdb
#jdbc.username=
#jdbc.password=

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:eredlab
jdbc.username=ered
jdbc.password=ered
6 楼 JaNer 2007-11-28  
ddandyy 写道
很简单

这个问题是不了解才会出现的  当然是入门问题

至于说那个讨论  当然是用了之后才会讨论 既然用了 而且能说出哪好哪坏 怎么能算是入门呢


是了是了,人在屋檐下。岂敢不低头!  认命就是了! 偶也不抗议了!
哈哈
7 楼 JaNer 2007-11-28  
此问题一直没解决。
现换用Mysql,一切OK!
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xgllcms
jdbc.username=root
jdbc.password=820921