【问题标题】:Syntax error in query mdb java查询 mdb java 中的语法错误
【发布时间】:2013-05-29 09:37:56
【问题描述】:

我创建了一个使用 Java 连接到 MDB 文件的应用程序,它可以完全写入读取和修改数据。 我已经在 Windows 7 32 位上测试过了。 现在我已经在另一台机器上运送了所有东西,并创建了系统 DNS 和之前机器上的所有内容,但是应用程序开始为以下查询提供错误

insert into tblCredentials(NameCode,Password) values(72,'reset123')

与此同时,它也开始给许多在另一台机器上工作的 INSERT INTO 语句提供错误。

我得到的错误是

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in
 INSERT INTO statement.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown Source)
    at timesheetserver.MDBHandler.executeUpdateQuery(MDBHandler.java:99)

我找不到任何问题,而且它正在我的一台 WINdows & 机器上运行。

可能是什么问题 提前致谢

【问题讨论】:

  • @TheNewIdiot 正如我在帖子中提到的错误是:INSERT INTO 语句中的语法错误
  • 请粘贴完整的sql错误。
  • @TheNewIdiot 添加了完整的堆栈跟踪
  • 你有 tblCredentials 的表格脚本吗?如果您的 NameCode 是字母数字怎么办?在这种情况下,您将需要查询中的 ''。也许您在两台机器上都有数据类型不匹配。
  • 根据此页面,它是:office.microsoft.com/en-us/access-help/… 您是否尝试过在 NameCode 和 Password 字段中使用标识符引号?也许您有不同的 Access 或 ODBC 驱动程序版本,它们对此类问题的反应不同......

标签: java ms-access jdbc odbc


【解决方案1】:

根据此页面,PASSWORD 是 Access 的保留字:office.microsoft.com/en-us/access-help/...

您是否尝试在 NameCode 和 Password 字段中使用标识符引号?

也许您有不同的 Access 或 ODBC 驱动程序版本,它们对此类问题的反应不同...

【讨论】:

  • 我想在这里补充一点。仅当您使用 ExtendedAnsiSQL 支持时才会出现这种情况。如果您不需要此支持,则只需在创建系统 DNS 时将 ExtendedAnsiSQL 设置为 0
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
相关资源
最近更新 更多