Giter Site home page Giter Site logo

zhicwu / cassandra-jdbc-driver Goto Github PK

View Code? Open in Web Editor NEW
51.0 5.0 22.0 1005 KB

Cassandra JDBC driver that works with 2.x and above. It intends to provide better SQL compatibility over CQL, so that it works well with existing tools like SQuirreL SQL for SQL development, JMeter for stress testing, and Pentaho BI Suite for data processing.

License: Apache License 2.0

Java 100.00%
cassandra kettle pdi jdbc driver jdbc-connector jdbc-driver

cassandra-jdbc-driver's People

Contributors

johndemic avatar zhicwu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cassandra-jdbc-driver's Issues

DataImportHandlerException: Unable to execute query

Cassandra - 3.10
Java - 8
JDBC - 0.6.2
Solr - 6.6.0

I'm trying to integrate solr and cassandra latest versions. I'm getting exception like:

Exception while processing: test document : SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT id,org,name,dep,place,sal from tutor Processing Document # 1 at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69) at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:327) at org.apache.solr.handler.dataimport.JdbcDataSource.createResultSetIterator(JdbcDataSource.java:288) at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:283) at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:52) at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59) at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73) at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:267) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475) at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414) at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329) at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232) at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:415) at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:474) at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:457) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.createStatement(JdbcDataSource.java:342) at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:318) ... 14 more

Does the JDBC support for the latest version?

Exception in DBeaver eclipse plugin

eclipse : Neon.2
Dbeaver plugin : 4.0.2
cassandra : 2.2.9
cassandra-jdbc-driver : 0.6.2
java : 1.8

Caused by: java.lang.NullPointerException
at com.github.cassandra.jdbc.BaseCassandraResultSet.getInt(BaseCassandraResultSet.java:413)
at com.github.cassandra.jdbc.BaseCassandraResultSet.getInt(BaseCassandraResultSet.java:417)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCResultSetImpl.getInt(JDBCResultSetImpl.java:501)
at org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils.safeGetInt(JDBCUtils.java:114)
at org.jkiss.dbeaver.ext.generic.model.GenericUtils.safeGetInt(GenericUtils.java:80)
at org.jkiss.dbeaver.ext.generic.model.TableCache.fetchChild(TableCache.java:142)
at org.jkiss.dbeaver.ext.generic.model.TableCache.fetchChild(TableCache.java:1)
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCStructCache.loadChildren(JDBCStructCache.java:128)
at org.jkiss.dbeaver.model.impl.jdbc.cache.JDBCStructCache.getChildren(JDBCStructCache.java:220)
at org.jkiss.dbeaver.ext.generic.model.GenericTable.getAttributes(GenericTable.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.extractPropertyValue(DBNDatabaseNode.java:793)
... 11 more

SQL Squirrel error

C*: JDBC Driver class not found
class java.lang.NoClassDefFoundError: Could not initialize class com.github.cassandra.jdbc.CassandraConfiguration

I followed the README and got the following error message.

I'm using the shaded jar in the README.

NullPointerException with empty username/password

Attempting to connect to a Cassandra instance using SQuirreL 3.8.0 and driver 0.6.4 with an empty username and password results in a null pointer.

Unexpected Error occurred attempting to open an SQL connection.
class java.lang.NullPointerException: null

with detail:

java.lang.NullPointerException
	at java.util.Hashtable.put(Hashtable.java:459)
	at java.util.Properties.setProperty(Properties.java:166)
	at com.github.cassandra.jdbc.CassandraDatabaseMetaData.setProperty(CassandraDatabaseMetaData.java:733)
	at com.github.cassandra.jdbc.BaseCassandraConnection.<init>(BaseCassandraConnection.java:55)
	at com.github.cassandra.jdbc.provider.datastax.CassandraConnection.<init>(CassandraConnection.java:58)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at com.github.cassandra.jdbc.CassandraDriver.createConnection(CassandraDriver.java:67)
	at com.github.cassandra.jdbc.CassandraDriver.connect(CassandraDriver.java:111)
	at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:133)
	at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:167)
	at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(OpenConnectionCommand.java:45)
	at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(OpenConnectionCommand.java:104)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

My guess is that an empty username/password is interpreted as being null instead of an empty string, and the Hashtable that backs the Property object does not support nulls.

java.sql.SQLException: Cannot operate as the connection has been closed

i'm creating multiple cassandra jdbc connection and getting Cannot operate as the connection has been closed error my full stacktrace here...

java.sql.SQLException: Cannot operate as the connection has been closed
at com.github.cassandra.jdbc.CassandraErrors.connectionClosedException(CassandraErrors.java:37)
at com.github.cassandra.jdbc.provider.datastax.CassandraConnection.validateState(CassandraConnection.java:445)
at com.github.cassandra.jdbc.BaseCassandraConnection.rollback(BaseCassandraConnection.java:305)
at org.apache.commons.dbcp2.DelegatingConnection.rollback(DelegatingConnection.java:492)
at org.apache.commons.dbcp2.PoolableConnectionFactory.passivateObject(PoolableConnectionFactory.java:371)
at org.apache.commons.pool2.impl.GenericObjectPool.returnObject(GenericObjectPool.java:578)
at org.apache.commons.dbcp2.PoolableConnection.close(PoolableConnection.java:206)

NULL timestamp is returning now value

We get null value when we run through CQLSH command but same query from the driver return NOW value.

cqlsh:qc02> SELECT msid,expdate from cmsentity WHERE msid=3636130;
@ Row 1
---------+---------
 msid    | 3636130
 expdate | null

And from the driver

select msid,expdate.gettimestamp() from cmsentity where msid=3636130
msid	expdate
3636130	2020-07-02 14:35:31

Consider preparing the statement only once Warning

com.datastax.driver.core.Cluster - Re-preparing already prepared query is generally an anti-pattern and will likely affect performance. Consider preparing the statement only once. Query='INSERT INTO Table(id, data) VALUES (?, ?)'

[Codec not found for requested operation: [timestamp <-> java.lang.String]]

Hi and thanks for writing this driver! I have an issue with using it on windows, strangely the driver seems to work on mac.
on windows its reporting a missing codec for timestamps, any idea what the issue could be here?

Wed May 02 16:22:50 CEST 2018:ERROR:com.github.cassandra.jdbc.internal.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [timestamp <-> java.lang.String]
   com.github.cassandra.jdbc.internal.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [timestamp <-> java.lang.String]
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.notFound(CodecRegistry.java:741)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.createCodec(CodecRegistry.java:588)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.access$500(CodecRegistry.java:137)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry$TypeCodecCacheLoader.load(CodecRegistry.java:246)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry$TypeCodecCacheLoader.load(CodecRegistry.java:232)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache.get(LocalCache.java:3953)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957)
   	at com.github.cassandra.jdbc.internal.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.lookupCodec(CodecRegistry.java:522)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:485)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:467)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.AbstractGettableByIndexData.codecFor(AbstractGettableByIndexData.java:69)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.AbstractGettableByIndexData.getString(AbstractGettableByIndexData.java:242)
   	at com.github.cassandra.jdbc.internal.datastax.driver.core.AbstractGettableData.getString(AbstractGettableData.java:26)
   	at com.github.cassandra.jdbc.provider.datastax.CassandraResultSet.getValue(CassandraResultSet.java:69)
   	at com.github.cassandra.jdbc.BaseCassandraResultSet.getString(BaseCassandraResultSet.java:568)
   	at com.eviware.soapui.support.xml.XmlUtils.addResultSetXmlPart(XmlUtils.java:1442)
   	at com.eviware.soapui.support.xml.XmlUtils.createJdbcXmlResultEx(XmlUtils.java:1375)
   	at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcResponse.<init>(JdbcResponse.java:39)
   	at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.createResponse(JdbcSubmit.java:276)
   	at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.runQuery(JdbcSubmit.java:175)
   	at com.eviware.soapui.impl.wsdl.panels.teststeps.JdbcSubmit.run(JdbcSubmit.java:147)
   	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
   	at java.util.concurrent.FutureTask.run(Unknown Source)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   	at java.lang.Thread.run(Unknown Source)

Cassandra database connection error in jasper studio

I'm unable to connect to Cassandra database in jasper studio. When I am testing for the connection with the following configuration(in images), a loading mouse cursor is showed and it goes on forever.

The details entered in data adapter wizard is as follows:
Config
Screenshot from 2019-12-24 12-21-49
Connector jar file
Screenshot from 2019-12-24 12-20-48

Infinite loading screen:
IMG_5190

But if I use the same config but a "shaded" connector jar file (i.e,cassandra-jdbc-driver-0.6.2-shaded.jar)
Screenshot from 2019-12-24 15-12-50
then it gives this error
Screenshot from 2019-12-24 12-27-53

Please provide any appropriate method to connect to database

IntelliJ IDEA integration

Do you know if driver is possible to use for custom jdbc connection within InteliJ IDEA?

If so what would be the connection params?

Jdbc internal error

when using with dbeaver 4.2.4 with jdbc driver of 0.6.4, got Query execution failed

Internal jdbc driver error
read timeout must be >= 0
read timeout must be >= 0

what am i missing?

Thanks

Pentaho Data Integration 6.1.0

Can you upload a screenshot or tell us how to setup for the Pentaho Data Integration DB connection? Couldn't get it to work. Thanks!

We're on DSE 5.0 + PDI 6.1.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.