使用JDBC在列名中带有问号的Filemaker SQL查询

时间:2014-05-20 23:20:16

标签: java sql jdbc odbc filemaker

我正在尝试使用具有特殊字符的JDBC从Filemaker中选择一列。我已经看到其他帖子与空格或其他特殊字符有关,并尝试引用我的列,但问号引发了另一个问题,因为JDBC驱动程序似乎尝试绑定它。

select "Job Number", "Job Completed?" from "ORDERS"

给了我com.filemaker.jdbc.FMSQLException: [FileMaker][FileMaker JDBC] Invalid parameter binding(s).

相信我,我喜欢只更改列名,但我正在访问仍在从其他系统访问的旧数据库。任何帮助表示赞赏。

编辑:经过一些实验,我发现只有在使用PreparedStatement时才会发生这种情况。如果我只使用Statement.executeQuery(sql),那么我可以解决这个问题。更愿意使用预准备语句而不是使用字符串连接来构建查询,但至少我可以继续前进。如果有人知道如何逃避问号,请保持公开。

3 个答案:

答案 0 :(得分:0)

ExecuteSQL("选择\"作业已完成?\"来自\" ORDERS \"&#34 ;;"&#34 ;;& #34;&#34)

没有仔细阅读。问题是关于JDBC ......

答案 1 :(得分:0)

我是WooF的作者之一,这是我们为FileMaker编写的JDBC驱动程序,它通过XML发布引擎。我没有对此进行测试,但怀疑它可以与奇怪命名的字段和准备好的语句一起使用。如果没有,请提交错误报告,并且应该很快修复。

https://code.google.com/p/prosc-woof/

答案 2 :(得分:0)

经过一些实验,我发现只有在使用PreparedStatement时才会发生这种情况。如果我只使用Statement.executeQuery(sql),那么我可以解决这个问题。更愿意使用预准备语句而不是使用字符串连接来构建查询,但至少我可以继续前进。如果有人知道如何逃避问号,请保持公开。