Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
Expand all | Collapse all

JDBC Connector in CPLEX Optimization Studio

  • 1.  JDBC Connector in CPLEX Optimization Studio

    Posted Tue August 25, 2020 03:34 PM

    Hi,

    I am developing a scheduling model using CPLEX OPL and need to read problem parameters from MS SQL Server.

    I found an article that shows how to connect MS SQL server in CPLEX optimization studio. (https://www.ibm.com/support/pages/how-do-i-read-data-database-using-opl-script-cplex-128)

    However it didn't work for me. Thus, I would like to ask a few questions about database connection issues I currently have.

    1. jdbc.js

    I downloaded jdbc driver (mssql-jdbc-8.4.0.jre14.jar) and jdbc-custom-data-source.jar file and changed its script by defining their path as below.

    • var jdbc_driver = "mssql-jdbc-8.4.0.jre14.jar"
    • var jdbc_driver_path = ".;C:\Program Files\Microsoft JDBC Driver 8.4 for SQL Server\sqljdbc_8.4\enu"
    • var libs = ".;C:\Users\opl\Blending";

    2. var db = JDBCConnector("jdbc:sqlserver://prod-sql07;instanceName=SQLEXPRESS;User=Name1;password=abc123;databaseName=DATAB1;integratedSecurity=true");

    I modified JDBCConnector based on Server name (prod-sql07), username (Name1), and password (abc123).

    After seeting JDBC connector, I created mod and dat files, but it says Data parsring error.

    Would you please let me know what I am doing wrong?

    Thank you for your help in advance.






    #DecisionOptimization
    #Support
    #SupportMigration


  • 2.  RE: JDBC Connector in CPLEX Optimization Studio

    Posted Wed September 09, 2020 08:19 AM

    Are you going to connect to the database with SQL Server authentication or Windows authentication?

    For SQL Server authentication, please try:

    var db = JDBCConnector("jdbc:sqlserver://prod-sql07:1433;instanceName=SQLEXPRESS;user=Name1;password=abc123;DatabaseName=DATAB1");

    For Windows authentication, pelase try:

    var db = JDBCConnector("jdbc:sqlserver://prod-sql07:1433;instanceName=SQLEXPRESS;DatabaseName=DATAB1;integratedSecurity=true");

    Also make sure that prod-sql07 is running in port 1433 or change the definition to correct port.






    #DecisionOptimization
    #Support
    #SupportMigration