Hi, Here is my ODBC specification. The schema is specified as Public and this looks (identical?) like the example in the documentation:
On Thu, Sep 6, 2018 at 11:06 AM Вячеслав Коптилин <[email protected]> wrote: > Hi, > > > I have tried various things on the Java side to make the Public schema > explicit, such as this: > If I'm not mistaken the schema can be specified as a parameter of ODBC > connection string. > Please take a look at this page: > https://apacheignite-sql.readme.io/docs/connection-string-and-dsn#section-connection-string-format > > Also, you can find an example here: > https://github.com/apache/ignite/blob/master/modules/platforms/cpp/examples/odbc-example/src/odbc_example.cpp > > Thanks, > S. > > чт, 6 сент. 2018 г. в 16:59, limabean <[email protected]>: > >> 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/ >> >
