Connect to WooCommerce Data in JRuby
JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for WooCommerce makes it easy to integrate connectivity to live WooCommerce data in JRuby. This article shows how to create a simple JRuby app that connects to WooCommerce data, executes a query, and displays the results.
Configure a JDBC Connection to WooCommerce Data
Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for WooCommerce\lib).
JRuby natively supports JDBC, so you can easily connect to WooCommerce and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.
WooCommerce supports the following authentication methods: one-legged OAuth1.0 Authentication and standard OAuth2.0 Authentication.
Connecting using one-legged OAuth 1.0 Authentication
Specify the following properties (NOTE: the below credentials are generated from WooCommerce settings page and should not be confused with the credentials generated by using WordPress OAuth2.0 plugin):
- ConsumerKey
- ConsumerSecret
Connecting using WordPress OAuth 2.0 Authentication
After having configured the [ plugin, you may connect to WooCommerce by providing the following connection properties:
]
- OAuthClientId
- OAuthClientSecret
- CallbackURL
- InitiateOAuth - Set this to either GETANDREFRESH or REFRESH
In either case, you will need to set the Url property to the URL of the WooCommerce instance.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the WooCommerce JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.woocommerce.jar
Fill in the connection properties and copy the connection string to the clipboard.
Below is a typical JDBC connection string for WooCommerce:
jdbc:woocommerce:Url=https://example.com/; ConsumerKey=ck_ec52c76185c088ecaa3145287c8acba55a6f59ad; ConsumerSecret=cs_9fde14bf57126156701a7563fc87575713c355e5; InitiateOAuth=GETANDREFRESH
Create a JRuby App with Connectivity to WooCommerce Data
Create a new Ruby file (for example: WooCommerceSelect.rb) and open it in a text editor. Copy the following code into your file:
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for WooCommerce 2018/lib/cdata.jdbc.woocommerce.jar'
url = "jdbc:woocommerce:Url=https://example.com/; ConsumerKey=ck_ec52c76185c088ecaa3145287c8acba55a6f59ad; ConsumerSecret=cs_9fde14bf57126156701a7563fc87575713c355e5; InitiateOAuth=GETANDREFRESH"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT ParentId, Total FROM Orders")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
With the file completed, you are ready to display your WooCommerce data with JRuby. To do so, simply run your file from the command line:
jruby -S WooCommerceSelect.rb
Writing SQL-92 queries to WooCommerce allows you to quickly and easily incorporate WooCommerce data into your own JRuby applications. Download a free trial today!