在OFSA的PA模块中,菜单File下有Import、Eexport、Import/Export Group功能,可以实现对PA中的Tree、Tree Filter、Lookup Table等对象的导出和导入,并可实现从无到有地导入一个Tree、Tree Filter、Lookup Table等对象的功能。
下面以树的导入导出和直接导入一组数据生成一个Tree为例,进行说明: 在Tree、Tree Filter等对象执行导入导入的过程中需要使用dBase数据驱动。
如果当前系统中没有安装dBase驱动,或没有配置ODBC数据源,则系统将报错,报错内容为:(203090) Microsoft ODBC error:drv_odbc::Connect() caused ODBC Error: State = IM002 [Microsoft] [ODBC.DLL] Data source name not found and no default driver specified.
解决办法:
1、从网上(http://www.datadirect.com/download/index.ssp)下载ODBC安装文件(ODBC Windows 32-Bit),执行安装。
2、安装完成后,到设置系统数据源(ODBC)界面,选择“系统DSN”面板,添加数据源。
3、从数据驱动列表中选择“DataDirect 32-bit dBASE driver”,在General面板中的Data Source Name中输入数据源名xBase,Description中也输入xBase,Database Directory中留空,Create Type中选择dBase5,然后点“确定”按钮。
4、在系统文件夹下,找到odbc.ini文件,在[ODBC 32 bit Data Sources]下增加以下内容[xBase] Driver32=C:Program FilesDataDirectODBC32v51DriversIVDBF21.DLL 保存退出,这样在执行导入导出时就不会出错。
一、Export功能 该功能是将Tree等对象导出,以达到备份的目的。导出步骤:
1、打开要导出的对象,如Tree名:test
2、选择FileExport,在Export File Type中选dBase,在Export Data File Name中输入导出的文件路径和文件名,如D:test,则在D盘下产生四个文件,分别为:TEST.CAT、TEST.ROL、TEST.NOD、TEST.LEV。
3、导出成功
二、Import功能 该功能是将备份的或修改后的Tree等对象导入系统,(在导入之前,可以将导出的文件根据需要进行修改,修改后的数据可以导入)以达到恢复或修改的目的,。
导入步骤为:
1、打开PA时,FileImport菜单不可用,需要打开某个ID,然后执行FileImport
2、在Import File Type中选择dBase。在Import Data File Name中输入要导入的文件名,如D:TEST,要保证d盘下有TEST.CAT、TEST.ROL、TEST.NOD、TEST.LEV四个文件。
3、点“OK”按钮,确定后,如果系统中该对象名已经存在,则系统提示重新命名,或使用当前系统中的对象,如果系统中该对象不存在,则直接导入系统。
4、系统中对象名已经存在时,则使用另一个对象名,导入成功或失败,系统都将给出提示。
三、Import/Export Group 该命令是将一组对象成批地导入或导出,将需要导出的对象名和导出路径添加到导出组的每一行。然后一次性执行所需要导出的所有对象。
操作步骤为:
1、将要导出或导入的信息添加到导入/导出组的行。在Action中,如果该行对象是导入,则选择Import,如果是导出对象, 则选择Export。
2、在File Type中,选择dBase。
3、在ID Type中选择需要导入或导出的ID Type。
4、在ID Name中不需要做任何操作。
5、在PC File Name中输入要导入或导出的文件名,如D:TEST
6、点“Insert Rows”或“Delete Rows”按钮,逐行输入或删除每个需要导入或导出的对象,循环操作1—5步骤。
7、执行ProcessRun,系统将按照按照ID Type的设置逐个地导入或导出Tree等对象。
四、Tree的导入 要将数据直接导入到系统中生成系统中的Tree,则需要按照模板的要求,将要导入的数据填入到标准的模板中(Excel文件),然后将文件进行转换,转换成相对应的.CAT、.ROL、.NOD、.LEV结尾类型的文件。 然后在PA中执行导入。
1、 Leaf的导入:首先按leaf模板中的字段要求填写leaf信息
2、将leaf导入系统:将建好的leaf文件转换为.CSV文件,方便SQL*Loader导入数据库,将转换后的文件拷贝到服务器的oracle用户可以访问的目录。如/ofsademo/
3、在leaf.csv文件的同一目录下,建立一个控制文件,如Tree.ctl,其内容如下: load data infile '/ofsademo/leaf.csv' append into table ofsa_leaf_desc fields terminated by ',' (leaf_num_id,leaf_node,description)
4、SQL*Loader导入:使用Oracle用户登陆服务器,执行sqlldr命令: sqlldr 用户名/密码@连接名 control=/ofsademo/leaf.ctl log=/ofsademo/leaf.log bad=/ofsademo/leaf.bad
5、执行导入后,系统将导入日志记录到leaf.log中,将执行错误的信息记录到leaf.bad文件中,从两个文件中的信息查看导入的情况。
6、导入Tree模板见附件,将要导入的数据按照模板中的要求填写。
7、将填写好的文件先分别转换为cat.dbf、lev.dbf、nod.dbf、rol.dbf、文件,放到D:(如果放到别的目录下,则需要修改批处理文件中的路径),执行批处理文件,将文件名进行转换。
8、在PA中执行Import 或Import/Export Group,输入文件名,或选择导入ID类型,输入文件名如d:test,执行ProcessRun,如果该ID名称已经存在,则系统给出提示,要求使用另外的名称,执行操作后,系统将显示执行成功或失败信息。
9、如果在导入过程中失败,则需要检查数据是否按照模板的要求填写。然后修改不合格的数据,再次执行导入即可。