0
$\begingroup$

I would like to get the proper driver settings in place to permit the mariaDB database to connect to Mathematica via a JDBC driver running on a Windows11 64-bit machine.

I've got mariaDB version 11.2 installed at the user level in the following directory: "C:\Program Files\MariaDB 11.2" and it runs using port 3306 using user="root" password="mypassword". I do not have any existing mariaDB databases I can connect to yet and am unsure if one needs to be created apriori for a connection between the two applications to be established or where it or suitable configuration files may need to be placed. I am presuming the test database file that is generated upon installation suffices.

Although I have had experience using MS Access with MMA and limited experience with MySQL, I thought mariaDB might be worth exploring since I am interested in WikiData and understand that mariaDB is the underlying engine. Further, I understand it both runs faster and has a more flexible/open license than does MySQL.

I've tried a variety of approaches to establish a connection, including the Connection wizard and the JDBCConnector MySQL(Connector/J), but am unsure what responses to provide the wizard for Hostname or Name. When I attempt to test the connection I get a JDBC error. Likewise,various attempts to establish an SQLConnection using DatabaseLink` directly have also failed.

Does anyone have an approach (working configuration files and their locations) that work to establish a connection between mariaDB Vers. 11.2 and Mathematica Vers. 13.3.1?

$\endgroup$

1 Answer 1

1
$\begingroup$

After getting some additional information from WRI regarding alternative connections for various databases not in their examples, I was able to make the connection once I had properly set the proper classpath to the driver (one of two for MariaDB), utilizing the default port of 3306 used by MariaDB and a previously created database "scorpaenoid", which was installed at the system level. Using the previously established name for my machine "stonefish" the following worked:

 conn = OpenSQLConnection[
   JDBC["MySQL(Connector/J)", 
   "stonefish:3306/scorpaenoid"], 
   "Username" -> "root", "Password" -> "secret 
   password"]

All that remains now is to create a non-root user and provide suitable privileges to work with it.

Hopefully, this will save some time for others who, like me, initially find the online documentation a bit confusing. Of course, the settings will be different if the database and drivers are not set up on a local host but in the cloud.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.