Mysql BIRT-org.eclipse.BIRT.data.engine.odacumer.odataexception:无法获取结果集元数据

Mysql BIRT-org.eclipse.BIRT.data.engine.odacumer.odataexception:无法获取结果集元数据,mysql,eclipse,exception,jdbc,birt,Mysql,Eclipse,Exception,Jdbc,Birt,在BIRT中,当我尝试从本地主机获取记录时,工作正常。但是,当我尝试使用远程连接时,我遇到如下错误: 错误: org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata. org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultS

在BIRT中,当我尝试从本地主机获取记录时,工作正常。但是,当我尝试使用远程连接时,我遇到如下错误:

错误:

org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata.
        org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object.
    SQL error #1:Table 'test.TBLUSERS' doesn't exist ... 63 more

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'testbms.TBLUSERS' doesn't exist

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
注意:

org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata.
        org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object.
    SQL error #1:Table 'test.TBLUSERS' doesn't exist ... 63 more

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'testbms.TBLUSERS' doesn't exist

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
表名会自动更改为大写字母,这就是原因所在。 因为客户机服务器是linux,并且它的行为区分大小写。 但它显示列名,但不显示记录。我一点击 在完成时,我得到了下面图片中指定的错误

参考图像:

org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata.
        org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object.
    SQL error #1:Table 'test.TBLUSERS' doesn't exist ... 63 more

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'testbms.TBLUSERS' doesn't exist

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)

如上图所示,它填充了第二行中的表列


他们的远程连接是否需要进行任何特殊配置,或者我是否做错了什么?

如您所述,这可能是区分大小写的情况:

尽管在某些情况下数据库和表名不区分大小写 平台,不应使用 同一语句中的不同情况。以下声明 将不起作用,因为它将一个表同时引用为my_表和as MY_TABLE:
mysql>从MY_TABLE中选择*,其中MY_TABLE.col=1

如果您的开发框不区分大小写,那么当您更改表名的大小写以匹配生产中的大小写时,您仍然可以进行测试。MySQL中也可能有一种使用系统表的方法。(有关查询表是否存在的示例,请参见以下查询):


如您所述,这可能是一个区分大小写的案例:

尽管在某些情况下数据库和表名不区分大小写 平台,不应使用 同一语句中的不同情况。以下声明 将不起作用,因为它将一个表同时引用为my_表和as MY_TABLE:
mysql>从MY_TABLE中选择*,其中MY_TABLE.col=1

如果您的开发框不区分大小写,那么当您更改表名的大小写以匹配生产中的大小写时,您仍然可以进行测试。MySQL中也可能有一种使用系统表的方法。(有关查询表是否存在的示例,请参见以下查询):


但它显示列名,但不显示记录
-检查连接用户的权限。我使用权限进行了检查,这一切都很完美。这是由于小写字母转换成大写字母引起的。这是因为区分大小写。如何处理此问题?
但它显示列名,但不显示记录
-检查连接用户的权限。我使用权限进行了检查,这一切都很完美。这是由于小写字母转换成大写字母引起的。这是因为区分大小写。如何处理?