Подключить модель CPLEX OPL к MySQL DB

Я хочу использовать данные из внешней базы данных MySQL в модели CPLEX OPL.

Насколько я понимаю, это должно быть возможно с OPL DBConnection и ODBC. Для построения строки подключения я нашел эту информацию.

Теперь я запустил тестовый проект test.mod:

{string} names = ...;

execute DISPLAY {
    writeln("names: ");
        for (var n in names)
            writeln(n);
}

и test.dat:

DBConnection db("odbc", "DRIVER={MySQL ODBC 8.0 Driver};SERVER=*ip*:*port*;DATABASE=*dbname*;USER=*user*;PASSWORD=*pw*;OPTION=3;");

names from DBRead(db, "SELECT name FROM customer");

В настоящий момент я получаю эту ошибку для строки DBConnection: «Ошибка синтаксического анализа данных: синтаксическая ошибка, непредвиденный (идентификатор), ожидание от или до».

Теперь мне интересно, возможно ли вообще соединить CPLEX / OPL и MySQL? Или если мне что-то не хватает для включения ODBC, или если мой синтаксис строки подключения неверен.


person user789456123    schedule 18.07.2018    source источник
comment
Какую версию cplex вы используете?   -  person Alex Fleischer    schedule 18.07.2018
comment
Я использую версию 12.8.0.0   -  person user789456123    schedule 18.07.2018


Ответы (1)


Вы можете найти список баз данных, которые раньше поддерживались в OPL, по адресу https://www.ibm.com/support/knowledgecenter/tr/SSSA5P_12.6.2/ilog.odms.ide.help/OPL_Studio/working_environment/themes/opl_working_env_db.html

Но с версии 12.7 нужно искать другой способ.

Обходной путь - использовать IloOplExec, как описано в https://www.ibm.com/developerworks/community/forums/html/topic?id=d7c20a69-8b24-49d6-b439-a9b381539637&ps=25

person Alex Fleischer    schedule 18.07.2018
comment
Большое спасибо! Также мне очень помог ваш список: linkedin.com/pulse/how-opl- Алекс-Флейшер - person user789456123; 19.07.2018