Hi Amir, I tried the following java code, and it was successful.
PreparedStatement stmt = conn.prepareStatement("INSERT INTO \"igniteCache\".STRING(_key, _val) VALUES(?, ?)"); stmt.setString(1,"keyInsert"); stmt.setString(2,"ValueInsert"); stmt.execute(); I do not know if this is the best way to achieve it or not. Thanks Rick From: linr...@itri.org.tw [mailto:linr...@itri.org.tw] Sent: Friday, March 23, 2018 2:31 PM To: user@ignite.apache.org Subject: RE: Get all data of one cache in Ignite without creating a new ignite node Hi Amir By the way, if we would like to insert/update data to cache, do you have any idea to achieve this? PreparedStatement stmt = conn.prepareStatement("INSERT INTO \"igniteCache\".STRING"); stmt.setString(1, "keyInsert"); stmt.setString(2, "valueInsert"); stmt.execute(); Error: InvocationTargetException: Failed to parse query. Syntax error in SQL statement "INSERT INTO ""igniteCache"".STRING[*]"; expected "(, DIRECT, SORTED, DEFAULT, VALUES, SET, (, WITH, SELECT, FROM"; SQL statement: Rick From: 林良憲 Sent: Friday, March 23, 2018 1:59 PM To: user@ignite.apache.org<mailto:user@ignite.apache.org> Subject: RE: Get all data of one cache in Ignite without creating a new ignite node Hi Amir I use the method recommended by you, and that works well. My testing code is as: ResultSet rs = conn.createStatement().executeQuery("select * from \"igniteCache\".STRING"); while (rs.next()) { String key = rs.getNString(1); String value = rs.getString(2); System.out.println("cacheData for 'key': " + key); System.out.println("cacheData for 'value': " + value); } Thank for your help Rick From: Amir Akhmedov [mailto:amir.akhme...@gmail.com] Sent: Friday, March 23, 2018 12:09 AM To: user@ignite.apache.org<mailto:user@ignite.apache.org> Subject: Re: Get all data of one cache in Ignite without creating a new ignite node Hi Rick, In Ignite cache name is used as a database schema and a cache value type as a table name. So, in your case you should execute select * from "igniteCache".STRING to get your cache data. I would recomend you to run your Ignite instance with -DIGNITE_H2_DEBUG_CONSOLE=true parameter so you could see how tables look like in your cluster Thanks, Amir On Thu, Mar 22, 2018, 3:41 AM <linr...@itri.org.tw<mailto:linr...@itri.org.tw>> wrote: Hi Andrey, I tried to use JDBC client at https://apacheignite-sql.readme.io/docs/jdbc-driver The java code is as: Class.forName("org.apache.ignite.IgniteJdbcThinDriver"); Connection conn = DriverManager.getConnection("jdbc:ignite:thin://127.0.0.1<http://127.0.0.1>"); ResultSet rs = conn.createStatement().executeQuery("select * from igniteCache"); There is a problem, as: InvocationTargetException: Failed to parse query. Table "IGNITECACHE" not found; SQL statement: I do not know how to set the rs. I think that "IGNITECACHE" is the default Table. So, how to set the igniteCache as a table? Rick From: Andrey Mashenkov [mailto:andrey.mashen...@gmail.com<mailto:andrey.mashen...@gmail.com>] Sent: Thursday, March 22, 2018 3:01 PM To: user@ignite.apache.org<mailto:user@ignite.apache.org> Subject: Re: Get all data of one cache in Ignite without creating a new ignite node Rick, Yes, you have to start a node to get access to the grid from another JVM, Or use REST, or JDBC client. чт, 22 марта 2018, 9:49 Pavel Vinokurov <vinokurov.pa...@gmail.com<mailto:vinokurov.pa...@gmail.com>>: Hi Rick, You could use rest api that documented in https://apacheignite.readme.io/docs/rest-api . Thanks, Pavel 2018-03-22 9:44 GMT+03:00 <linr...@itri.org.tw<mailto:linr...@itri.org.tw>>: Dear all, My settings of running environment is as: OS: Ubuntn 14.04.3 LTS JAVA: JDK 1.7 Ignite: 2.4.0 I would like to get all data of one cache in Ignite Without creating a new ignite node, I do not know how to get data by another executive java program (without the Ignition.getOrStart(cfg)). The setting of one listening ignite node is: " IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(false); //server CacheConfiguration cacheConf = new CacheConfiguration(); cacheConf.setName("igniteCache"); cacheConf.setIndexedTypes(String.class, String.class); cacheConf.setCacheMode(CacheMode.REPLICATED); cacheConf.setAtomicityMode(CacheAtomicityMode.ATOMIC); cfg.setCacheConfiguration(cacheConf); Ignite igniteNode = IgniteCache cache = igniteNode.getOrCreateCache(cacheConf); int datasize = 10; for (int i = 0; i < datasize; i++) { cache.put("key " + Integer.toString(i), Integer.toString(i)); }" In the Ignite document, there are many ways to get data. However, it seems to need to create a new ignite node (server/client) to get data. I know that Restful API is a way to get data. But, it is not flexible to use over the java program. If you have any idea about the issue, I am looking forward to hearing from you. Thanks Rick -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- Regards Pavel Vinokurov -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient. -- 本信件可能包含工研院機密資訊,非指定之收件者,請勿使用或揭露本信件內容,並請銷毀此信件。 This email may contain confidential information. Please do not use or disclose it in any way and delete it if you are not the intended recipient.