Hello! > Fields = new[] { newQueryField("ClassCode", typeof( string)) { IsKeyField =true }, new QueryField("Priority", typeof(int)) { IsKeyField = false } }
Here you declare that you have a field ClassCode *in* your composite key, and Priority *in* your composite value. But you have neither. You should use KeyFieldName/ValueFieldName instead (if they present in .Net API). Regards, -- Ilya Kasnacheev пн, 28 янв. 2019 г. в 15:33, Som Som <2av10...@gmail.com>: > .Net part: > > using (var ignite =Ignition.StartClient(Ignition > .ClientConfigurationSectionName)) > > { > > var queryEntity = new QueryEntity > > { > > KeyTypeName = typeof(string).FullName, > > KeyType = typeof(string), > > ValueTypeName = typeof(int).FullName, > > ValueType = typeof(int), > > Fields = new[] { newQueryField("ClassCode", typeof( > string)) { IsKeyField =true }, new QueryField("Priority", typeof(int)) { > IsKeyField = false } } > > }; > > > > queryEntity.TableName =IgniteCacheName > .QUIK_CLASSCODE_PRIORITY; > > > > var cfg = new CacheClientConfiguration(IgniteCacheName > .QUIK_CLASSCODE_PRIORITY, new[] { queryEntity }) > > { > > DataRegionName = "persistent", > > Backups = 1, > > SqlSchema = "PUBLIC" > > }; > > > > var c = ignite.GetOrCreateCache<string, int>(cfg); > > > > c.Put("a", 1); > > } > > > > Sql query part: > > > > This query works ok – SELECT _Key, _Val FROM "QUIK.CLASSCODEPRIORITY" > > But this one throws an error mentioned above SELECT SecCode, Prioruty FROM > "QUIK.CLASSCODEPRIORITY" > > пн, 28 янв. 2019 г., 14:23 Ilya Kasnacheev ilya.kasnach...@gmail.com: > >> Hello! >> >> Can you please show your cache configuration and the exact SQL statement >> used? >> >> What happens here is that Ignite expects some composite value type as >> opposed to bare integer. Not so clear why yet. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> пн, 28 янв. 2019 г. в 14:12, Som Som <2av10...@gmail.com>: >> >>> >>> hi, i'v got a roblem reading the cache throgh the odbc. >>> >>> cahche was created in .net, key type is string, value type is int. >>> >>> error text: >>> >>> SQL Error [50000]: javax.cache.CacheException: Failed to execute map >>> query on remote node [nodeId=c3ef8d97-09d0-432d-a0a2-7fd73e8413bc, >>> errMsg=Failed to execute SQL query. General error: "class >>> org.apache.ignite.IgniteCheckedException: Unexpected binary object class >>> [type=class java.lang.Integer]"; SQL statement: >>> >>> SELECT >>> >>> __Z0.CLASSCODE __C0_0, >>> >>> __Z0.PRIORITY __C0_1 >>> >>> FROM PUBLIC."QUIK.CLASSCODEPRIORITY" __Z0 [50000-197]] >>> >>> javax.cache.CacheException: Failed to execute map query on remote node >>> [nodeId=c3ef8d97-09d0-432d-a0a2-7fd73e8413bc, errMsg=Failed to execute SQL >>> query. General error: "class org.apache.ignite.IgniteCheckedException: >>> Unexpected binary object class [type=class java.lang.Integer]"; SQL >>> statement: >>> >>> SELECT >>> >>> __Z0.CLASSCODE __C0_0, >>> >>> __Z0.PRIORITY __C0_1 >>> >>> FROM PUBLIC."QUIK.CLASSCODEPRIORITY" __Z0 [50000-197]] >>> >>> javax.cache.CacheException: Failed to execute map query on remote node >>> [nodeId=c3ef8d97-09d0-432d-a0a2-7fd73e8413bc, errMsg=Failed to execute SQL >>> query. General error: "class org.apache.ignite.IgniteCheckedException: >>> Unexpected binary object class [type=class java.lang.Integer]"; SQL >>> statement: >>> >>> SELECT >>> >>> __Z0.CLASSCODE __C0_0, >>> >>> __Z0.PRIORITY __C0_1 >>> >>> FROM PUBLIC."QUIK.CLASSCODEPRIORITY" __Z0 [50000-197]] >>> >>