Build Cloud-Native apps with Apache Cassandra

GOT QUESTIONS from the Workshop? You're in the right place! Post a question here and we'll get you answers.

Click here for Week 7 Materials and Homework.

Registrations still open!


question

mgent avatar image
mgent asked ·

How can I connect to Astra using a JDBC connection?

I'd like to connect to Astra via JDBC, primarily using the jdbc driver used by IntelliJ which is com.dbschema.CassandraJdbcDriver.

Is there a way to do that?

astra
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Erick Ramirez avatar image
Erick Ramirez answered ·

I'm not sure if it's possible but I'd be happy to help if you're willing to try. A few months ago, I managed to get the GoCQL driver (not a DataStax driver) to connect to Astra (see post #3753) with help from the DataStax Cloud team (the team behind Astra).

As I understand it, the DbSchema C* JDBC driver somehow implements the Java driver so we might be able to get it to connect to Astra with a bit of fiddling around.

Preparation

First up, you will need to download the secure-connect zipped bundle for your Astra database.

Unzip your copy of secure-connect-your_astra_db.zip which will contain the following files:

ca.crt
cert
cert.pfx
config.json
cqlshrc
identity.jks
key
trustStore.jks

The config.json file contains the following:

  • host - the contact point for the driver
  • port - the CQL client port
  • keyspace - Cassandra keyspace
  • trustStoreLocation - trustStore.jks is the truststore
  • trustStorePassword - your truststore password
  • keyStoreLocation - identity.jks is the keystore
  • keyStorePassword - your keystore password

SSL

Set the SSL parameters in the DbSchema.vmoptions as follows:

-Djavax.net.ssl.trustStore=/path/to/trustStore.jks
-Djavax.net.ssl.trustStorePassword=<trustStorePassword>
-Djavax.net.ssl.keyStore=/path/to/identity.jks
-Djavax.net.ssl.keyStorePassword=<keyStorePassword>

URL

Using the bits of information above, the JDBC URL format is:

jdbc:cassandra://host:port/keyspace

Using my config.json as an example:

{
  "host": "c39aeb05-b52a-49b2-96c2-41f3901969e8-us-east1.db.astra.datastax.com",
  "port": 31234,
  "keyspace": "community",
  ...
}

My JDBC URL would look like:

jdbc:cassandra://c39aeb05-b52a-49b2-96c2-41f3901969e8-us-east1.db.astra.datastax.com:31234/community

Please try it out and I'd be very interested to know how it goes. Cheers!

P.S. Oh and of course you'll need to provide the username and password. :)

1 comment Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

@mgent just checking to see if you've had a chance to test this. Let me know either way. Cheers!

0 Likes 0 · ·
smadhavan avatar image
smadhavan answered ·

@mgent, we don't have documentation on how to connect with DbSchema yet.

But if you weren't aware, there is an embedded cqlsh on Astra which you can access from your browser. For details, see Connecting to Astra databases using CQLSH.

If you'd prefer to use an IDE, there is also an embedded DataStax Studio available from your Astra DB. For details, see Connecting to databases with DataStax Developer Studio.

In the meantime, I'm going to reach out internally to the Cloud team at DataStax to see if they have instructions they can share. I will update my answer if I have anything new to add. Cheers!

p/s: You might also refer to the instructions provided here for connecting to Astra via Thia in the interim to see if you could leverage that to work with DbSchema.

Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.