我想在 CPLEX OPL 模型中使用外部 MySQL 数据库中的数据。
据我了解,这应该可以通过 OPL 的 DBConnection 实现。和 ODBC。对于连接字符串的构造,我找到了 this information .
现在我开始了一个测试项目“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 的某些内容,或者我的连接字符串语法不正确。
最佳答案
您可以在 https://www.ibm.com/support/knowledgecenter/tr/SSSA5P_12.6.2/ilog.odms.ide.help/OPL_Studio/working_environment/topics/opl_working_env_db.html 找到 OPL 曾经支持的数据库列表。
但是从 12.7 版本开始,您需要寻找另一种方法。
解决方法是使用 IloOplExec,如 https://www.ibm.com/developerworks/community/forums/html/topic?id=d7c20a69-8b24-49d6-b439-a9b381539637&ps=25 中所述。
关于mysql - 将 CPLEX OPL 模型与 MySQL DB 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51401562/