我正在使用JDBC从文件制作服务器v12中获取数据。
由于某些未知原因,filemaker允许您在表名中包含空格。我无法选择这些表,因为我只是出现语法错误。
我在java中编写了一个应用程序来获取数据。有没有人知道如何从一个有空格的表中选择数据?
编辑(来自OP的评论):
这是Java部分:
String selectSQL = "SELECT "+this.getImportableColumnsString()+" FROM "+this.getTableName();
PreparedStatement preparedStatement = this.connection.prepareStatement(selectSQL);
ResultSet rs = preparedStatement.executeQuery();
答案 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中的表名称,这不仅仅是用下划线替换表名中的空格。