Scenario: 64-bit ODBC driver cannot read data created from the Java Thin driver.
Ignite 2.6. Running a single node server on Centos to test this. First: Using Intellij to remotely run the sample code from the Ignite Getting started page here on SQL: First Ignite SQL Application https://apacheignite.readme.io/docs/getting-started This all works fine. Tables created, data inserted, data read. All as expected. Next: Using the ODBC 64-bit driver from Windows 10 to connect to the still running Ignite server to read the same tables (City, Person). This does not work. The ODBC driver appears to be able to get meta data - it gets the table names from the PUBLIC schema and it understands the fields / field counts in each table. However, the ODBC driver is unable to perform any select operations on the tables. See the following stack trace as an example of the errors I am seeing: [13:30:19] ^-- default [initSize=256.0 MiB, maxSize=6.3 GiB, persistenceEnabled=false] [13:33:09,424][SEVERE][client-connector-#45][OdbcRequestHandler] Failed to execute SQL query [reqId=0, req=OdbcQueryExecuteRequest [schema=PUBLIC, sqlQry=SELECT COUNT(*) FROM ""PUBLIC"".CITY, timeout=0, args=[]]] class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to parse query. Table not found; SQL statement: SELECT COUNT(*) FROM ""PUBLIC"".CITY [42102-195] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatementAndCaches(IgniteH2Indexing.java:2026) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.parseAndSplit(IgniteH2Indexing.java:1796) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1652) ----------------------- I have tried various things on the Java side to make the Public schema explicit, such as this: conn = DriverManager.getConnection("jdbc:ignite:thin://10.60.1.101/PUBLIC"); // conn.setSchema("PUBLIC"); but this does not help with the ODBC problem. The Java stuff still works fine. Select statements in Java can be written like this and they still work: stmt.executeQuery("SELECT p.name, c.name " + " FROM PUBLIC.Person p, City c " + " WHERE p.city_id = c.id")) Any advice on how this should be done (sample code?) is much appreciated. Thank you. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
