- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
023_ILOG_和其他软件的接口要点.ppt
ILOG和其他软件的接口 ILOG OPL 和电子表格 OPL 模型可以对电子表格进行读写。首先模型需要利用SheetConnection 指令与电子表格建立连接。 这是在.dat 文件中进行的,而不是在.mod 文件中: 1、在.mod 文件中准确的编写你的模型,模型要与数据独立。 2、将与电子表格的连接插到.dat 文件中。 语法为:SheetConnection sheet(“mySheet.xls”); * * 这样就以读/写模式与电子表格mySheet.xls 建立了一个连接sheet。支持相对或绝对路径名。相对路径解析为.dat 文件所处的当前目录。 * 从电子表格中读数据 一旦模型连接到电子表格上,利用SheetRead 命令,ranges 可以被读进多维数组或集合中。 数组的例子: /* in .mod file */ string city[0..2] = …; /* in .dat file */ city from SheetRead(sheet,C2:E2) /* in .mod file */ float cost[0..2][0..2] = …; /* in .dat file */ cost from SheetRead(sheet,C3:E5); * 集合的例子: /* in .mod file */ {string} Cities = …; /* in .dat file */ Cities from SheetRead(sheet,C2:E2); * 向一个电子表格写数据 你可以SheetWrite 命令将数据写入一个电子表格。同SheetRead 一样,要将SheetWrite命令写在.dat 文件中: /* in .mod file */ float cost[0..2][0..2] = ...; /* in .dat file */ cost to SheetWrite(sheet,G3:I5); * OPL和数据库之间的接口 OPL 可以与已有的关系型数据库进行连接,这样你已有的数据可以得到应用和直接更新,而无需手工干预。 * 支持的数据库类型 类似电子表格,也可以将OPL 模型连接到一个数据库上。ILOG OPL 开发环境提供接口的数据库有: DB2 MS SQL ODBC Oracle(8,8.1,9) ILOG DBLink5.0 支持这些关系型数据库管理服务器(RDBMS’s)。 * 连接语法 关键词:DBconnection OPL 关键字DBconnection 建立一个与数据库的命名连接。它需要两个参数: 你希望使用的数据库客户端 连接字符串 第一个参数是它能支持的一种数据库。 作为第二个参数的连接字符串必须遵循目标数据库所支持的格式。 * 下表是数据库名称(第一个参数)和连接字符串(第二个参数): * 例如,指令 DBconnection DBconnex(“ODBC”,“DBPEOPLE/user/password”); 建立了一个与名为“DBPEOPLE”的ODBC 数据源的连接,该连接名为DBconnex。 DBconnex 连接可以看着数据库的一个句柄。 * 对数据库的操作 可以在同一个模型中与多个数据库建立连接。连接一旦建立,那么可以对数据库进行的操作包括: DBread DBexecute DBupdate 在前处理阶段执行DBconnection 和DBread。在后处理阶段,执行DBexecute 和DBupdate。 * 从一个数据库中读数据 gasData from DBread(db,SELECT * FROM GasData); oilData from DBread(db,SELECT * FROM OilData); * 向一个数据库中写数据 DBexecute DBexecute 可以用来执行任何数据库管理命令。例如,执行写数据或创建一个表。DBexecute 的语法是: DBexecute (connection_name, command_string) 其中,connection_name是传递给dbConnection 所连接数据库的名称, command_string表示需要执行的活动(例如,SQL 命令)和它们的值。 * 实例 DBexecute(db, create table PERSONS(NAME string,EMAIL string,AGE integer,DEPT string)); 这个代码在数据库db 中创建一个表,表头为PERSONS。这个表有4 列,3 个标识为NAME,EMAIL,DEPT,它们的具有数据串类型的数据,还有一列标识为AGE,它具有整数型数据。 *
文档评论(0)