1.描述
介绍如何连接到Oracle数据库。
注意
连接Oracle数据库前,需要用户先配置Oracle,配置完成才能连接Oracle。具体步骤见下面的“配置Oracle”。
为了活字格连接外连数据库后能正确地工作,您需要给目标数据表中设置唯一、不为空的主键(至少一个)。在选择主键时,请不要选择以下数据类型的字段:text、ntext、Binary、Varbinary、image、hierarchyid、xml、sql_variant、geometry、geography。
当您创建了一个外连数据表,活字格将会尝试获取该表的主键,如果这个主键不存在,活字格将会去寻找唯一且不为空的一列作为主键。
2.配置Oracle
连接Oracle数据库前,需要用户先配置Oracle,配置完成才能连接Oracle。
操作步骤
downloads/attachments/OracleInstantClient.zip。
下载OracleInstantClient文件压缩包至本地,解压后保存至C盘或其他固定路径下。下载链接:说明
配置系统环境变量。
- 在“此电脑”上右击,选择“属性-高级系统设置”,在系统属性对话框的“高级”页签中,单击右下角的“环境变量”。
Windows10系统可直接单击系统左下角的开始菜单,输入“环境”直接搜索出“编辑系统环境变量”,单击即可弹出系统设置对话框。
以下以Windows10系统为例,其他系统以实际为准。图1 系统设置
- 单击“环境变量”进入环境变量的编辑窗口,在“系统变量”下方,单击“新建”,添加两个系统变量。
①变量名:ORACLE_NAME;变量值:单击“浏览目录”,选择步骤 中文件的保存路径,选到此文件的第二级目录“instantclient_18_3”,单击“确定”。如文件保存在C盘根目录下,则变量值为C:\OracleInstantClient\instantclient_18_3。
②变量名:TNS_ADMIN;变量值:同上。图2 新建环境变量
选中变量“Path”,单击“编辑”,进入编辑界面。单击右侧的“新建”,添加一个新的环境变量,变量值与上一步中的变量值相同。
图3 编辑变量
- 添加、编辑完环境变量后,单击“确定”,关闭对话框。
使用记事本或其他文本编辑器打开“OracleInstantClient\instantclient_18_3”目录下的“tnsnames.ora”文件,进行编辑。请注意空格及括号匹配。
图4 编辑文件
name = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehostname)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
其中,name可以自定义其名称;oraclehostname为Oracle服务器的主机名称;orcl为服务名称。
编辑完成后将其保存关闭。
重启电脑。
3.连接到Oracle
在活字格中连接到 Oracle 数据库的具体操作如下:
操作步骤
在功能区菜单栏中选择“数据->连接数据库”。
或在表的标签栏上右击,选择“连接到外联表”。
图6 连接到外联表
选择数据源为“Oracle数据库”。
图7 选择数据源
说明
输入服务器名、用户名和密码。
- 如果配置了“tnsnames.ora”文件,登录服务器时,服务器名为配置文件中自定义的名称“name”;
- 如果没有配置“tnsnames.ora”文件,登录服务器时,服务器名为“oraclehostname:1521/orcl”;
设置完成后,您可以单击“测试连接”测试和设定的服务器的连接情况。
单击“确定”。
图9 测试结果
单击“确定”后,弹出“导入表”对话框,在数据源的表列表中选中要导入的表,单击“>”将选中的表移到选择的表列表,或单击“>>”将数据源的表全部移到选择的表列表中。
图10 导入表
说明
单击“确定”,即可将表导入。打开该表,在表设置中可看到其类型为“外联表”。
图8 导入的表
连接到Oracle后,再单击“连接到数据库”下的下拉按钮,会列出已连接的数据库。如下图中的Oracle,单击即可直接打开导入表的对话框。
图9 数据库列表
说明
Oracle数据库字段类型
4.活字格与在活字格中创建字段对应在Oracle数据库中的字段类型如下表所示。
活字格字段类型 | Oracl字段类型 |
---|---|
用户 | NVARCHAR2(500) |
时间 | INTERVAL DAY TO SECOND |
文本 | NVARCHAR2(500) |
图片 | NVARCHAR2(500) |
整数 | NUMBER |
小数 | NUMBER |
日期 | DATE |
是/否 | NUMBER(1) |
附件 | NVARCHAR2(500) |
活字格支持一部分的Oracle字段类型,不支持的字段类型会全部转换为文本类型。
Oracle中的字段类型对应在活字格中的字段类型如下表所示。
Oracle字段类型 | 活字格字段类型 |
---|---|
CHAR | 文本 |
CLOB | 文本(Oracle版本大于19.13) |
DATE | 日期 |
INTERVAL DAY TO SECOND | 时间 |
NCHAR | 文本 |
NVARCHAR2 | 文本 |
NCLOB | 文本(Oracle版本大于19.13) |
NUMBER(x, 0) | 整数 |
NUMBER(x,y) y is larger than 0. | 小数 |
NVARCHAR2 | 文本 |
RAW | 文本 |
TIMESTAMP | 日期 |
TIMESTAMP WITH LOCAL TIME ZONE | 日期 |
TIMESTAMP WITH TIME ZONE | 日期 |
VARCHAR | 文本 |
VARCHAR2 | 文本 |