当表名包含空格时,通过JDBC从FileMaker表中选择

时间:2013-05-14 20:59:06

标签: java sql jdbc filemaker

我正在使用JDBC从文件制作服务器v12中获取数据。

由于某些未知原因,filemaker允许您在表名中包含空格。我无法选择这些表,因为我只是出现语法错误。

我在java中编写了一个应用程序来获取数据。有没有人知道如何从一个有空格的表中选择数据?

编辑(来自OP的评论):

这是Java部分:

String selectSQL = "SELECT "+this.getImportableColumnsString()+" FROM "+this.getTableName();
PreparedStatement preparedStatement = this.connection.prepareStatement(selectSQL);
ResultSet rs = preparedStatement.executeQuery();

3 个答案:

答案 0 :(得分:3)

如问题评论中所述,如果FileMaker表名包含空格,则必须在SQL语句中用双引号括起来,例如,

String selectSQL = "SELECT * FROM \"table name\"";

答案 1 :(得分:0)

我的第一个想法是你可以把表名放在'SELECT * FROM'my table'这样的字符中。这不起作用吗?

否则我建议您在此页面上联系Filemaker Server支持: http://help.filemaker.com/app/ask 他们之前可能已经遇到过这个问题并且知道如何构建查询。

// Flipbed

答案 2 :(得分:0)

我非常肯定在OCDB和JDBC支持的文档中,FileMaker表示表可能必须遵守比FileMaker允许的更严格的命名约定。如果您对要获取的数据库具有管理员访问权限,则可以轻松更改FileMaker中的表名称,这不仅仅是用下划线替换表名中的空格。