Connecting from Code
This section describes how to connect with the JDBC DriverManager or GraphQLDataSource interfaces.
Connecting with the DriverManager
When connecting with the DriverManager class, the CData JDBC Driver for GraphQL follows the JDBC convention: First, load the GraphQL driver class. Then, make a connection.
Load the Driver
The following step is optional per the JDBC 4.0 specification.Class.forName("cdata.jdbc.graphql.GraphQLDriver");
Establish a Connection
Provide the connection string with the getConnection method of the static DriverManager class. Start the connection string with "jdbc:graphql:". A typical connection string is the following:
Connection conn = DriverManager.getConnection("jdbc:graphql:AuthScheme=OAuth;OAuthVersion=2.0;CallbackURL=http://localhost:33333;OauthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessTokenURL=https://mysite.com/login/oauth/access_token;");Alternatively, you can prepare the connection options using a Properties object. Pass the Properties object to the DriverManager.
prop.setProperty("AuthScheme","OAuth"); prop.setProperty("OAuthVersion","2.0"); prop.setProperty("CallbackURL","http://localhost:33333"); prop.setProperty("OauthClientId","MyOAuthClientId"); prop.setProperty("OAuthClientSecret","MyOAuthClientSecret"); prop.setProperty("OAuthAccessTokenURL","https://mysite.com/login/oauth/access_token"); Connection conn = DriverManager.getConnection("jdbc:graphql:",prop);
Connecting with the GraphQLDataSource Class
You can use the GraphQLDataSource class to create pooled connections, as shown in the following example. See Connection Pooling for more information.
The following example instantiates a pooled Connection object:
GraphQLDataSource ds = new GraphQLDataSource("jdbc:graphql:UseConnectionPooling=true;AuthScheme=OAuth;OAuthVersion=2.0;CallbackURL=http://localhost:33333;OauthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessTokenURL=https://mysite.com/login/oauth/access_token;");
Connection conn = ds.getConnection();