Hi Rick, It looks fine. BTW, on your first try your query string did not have "values (?, ?)". In general for this case you have an option not to mention a columns.
Thanks, Amir On Fri, Mar 23, 2018, 3:28 AM <[email protected]> wrote: > 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:* [email protected] [mailto:[email protected]] > *Sent:* Friday, March 23, 2018 2:31 PM > *To:* [email protected] > *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:* [email protected] > *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:[email protected] > <[email protected]>] > *Sent:* Friday, March 23, 2018 12:09 AM > *To:* [email protected] > *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 <[email protected]> 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"); > > 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:[email protected]] > *Sent:* Thursday, March 22, 2018 3:01 PM > *To:* [email protected] > *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 <[email protected]>: > > 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 <[email protected]>: > > 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. >
