mysql - BIRT - org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata -


in birt, when try fetch records localhost, working fine. when try work remote connection getting error specified below:

error :

org.eclipse.birt.data.engine.odaconsumer.odadataexception: cannot result set metadata.         org.eclipse.birt.report.data.oda.jdbc.jdbcexception: sql statement not return 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      @ com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:936)      @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:2985) 

note:

tablenames automatically changing capital letters, because of it. because client server linux , acting case sensitive. displays column names not records. click on finish, error specified in below images.

reference image:

enter image description here

as can see in above image, has populated table columns in second row

is special configurations need done remote connection or doing wrong?

as stated, case of case-sensitivity:

http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

although database , table names not case sensitive on platforms, should not refer given database or table using different cases within same statement. following statement not work because refers table both my_table , my_table: mysql> select * my_table my_table.col=1;

if development box isn't case sensitive when change case of tablename match on production you'll still able test. there might way in mysql using system tables. (see following query example of querying see if table exists.):

select count(*)  information_schema.tables  table_schema = <schema-or-db-name>  , table_name = <table-or-view-name> 

but more realistically, target database should passed report through variable can check in scripting of dataset. set "this.query" value equal appropriate query based on variable's value.

e.g.:

if ( params["source_db"].value == "server=myproductionaddress;database=myproductiondb;uid=myusername;pwd=mypassword;" ) {   this.query = "select .... prodtablename"; } else {   this.query = "select .... devtablename"; } 

Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -