1
我試圖從現有的Oracle表中配置和讀取數據 但是,在調用cache.loadCache();
此行時收到錯誤消息。無法使用Ignite V2.0連接並從Oracle加載數據
它顯示錯誤消息 消息
session:javax.cache.integration.CacheWriterException: Failed to start store
session [tx=null]Caused by: java.sql.SQLException: No suitable driver found
for jdbc:oracle:thin:@192.168.2.218:1521:xe at
org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:190) at
org.h2.jdbcx.JdbcDataSource.getXAConnection(JdbcDataSource.java:351) at
org.h2.jdbcx.JdbcDataSource.getPooledConnection(JdbcDataSource.java:383) at
org.h2.jdbcx.JdbcConnectionPool.getConnectionNow(JdbcConnectionPool.java:226)
at
org.h2.jdbcx.JdbcConnectionPool.getConnection(JdbcConnectionPool.java:198)
at
CacheConfiguration<String, TempClass> cacheCfg = new CacheConfiguration<String, TempClass>();
cacheCfg.setName("Test_CacheConfig");
IgniteConfiguration igniteConfig = new IgniteConfiguration();
Factory<TempClassCacheStore> factory = FactoryBuilder.factoryOf(TempClassCacheStore.class);
cacheCfg.setReadThrough(true);
cacheCfg.setWriteThrough(true);
cacheCfg.setIndexedTypes(String.class, TempClass.class);
cacheCfg.setCacheStoreFactory(factory);
cacheCfg.setCacheStoreSessionListenerFactories(new Factory<CacheStoreSessionListener>() {
@Override
public CacheStoreSessionListener create() {
CacheJdbcStoreSessionListener lsnr = new CacheJdbcStoreSessionListener();
lsnr.setDataSource(JdbcConnectionPool.create("jdbc:oracle:thin:@192.168.2.218:1521:xe", "test", "test"));
return lsnr;
}
});
Ignite ignite = Ignition.start(igniteConfig);
IgniteCache<String, TempClass> cache = ignite.getOrCreateCache(cacheCfg);
cache.loadCache(null);
SqlFieldsQuery sql = new SqlFieldsQuery("SELECT ID_, NAME_ FROM TEST_TABLE");
QueryCursor<List<?>> cursor = cache.query(sql);
如圖 https://apacheignite.readme.io/docs/persistent-store#cachestore 任何幫助將高度讚賞
感謝@Evgenii它的一種混亂我開始從java程序本身點燃服務器,我認爲它與我已經存儲在本地計算機上的點燃二進制文件無關,我甚至沒有設置我的點火回家。 所以我很困惑它如何訪問存儲在我的本地計算機上的點燃實例?是的,我的項目班級路徑中已經有了oracle jar。 –
我不理解你,你在哪裏以及如何開始點燃服務器?服務器的類路徑中有庫嗎? –
我在我的java項目的maven配置中顯示了ingine庫,如下所示。 https://apacheignite.readme.io/docs/getting-started#get-it-with-maven並使用上面的代碼,我開始點燃實例。我沒有任何其他節點在我的電腦上運行或設置。即我不使用/ignite.bat文件啓動服務器。 –