OneDelphi+OneFastClient+Oracle配合使用

发布时间 2023-06-13 21:28:39作者: bigcat0001

1、安装Oracle

win10 下面安装Oracle 10g,需要修改安装目录下面的oraparam.ini文件

修改两处:

MP$20@4PKVRH3JC360TVIVG

[Windows-5.2-optional]后面增加内容:

[Windows-6.1-required]    
#Minimum display colours for OUI to run    
MIN_DISPLAY_COLORS=256   
#Minimum CPU speed required for OUI    
#CPU=300   
[Windows-6.1-optional]

[Windows-6.2-required]    
#Minimum display colours for OUI to run    
MIN_DISPLAY_COLORS=256   
#Minimum CPU speed required for OUI    
#CPU=300   
[Windows-6.2-optional]

EJGCWJ%WSF4E$(YW(8T3~RR

然后正常安装Oracle,设置好密码,其他默认安装即可。

2、Navicat连接Oracle要点

Navicat连接Oracle需要有相应版本的客户端连接库,然后在Navicat的选项里面设置环境:

XFKF`1]3UEN)2MQH8UG%LOD

Oracle10,客户端连接库下载:

链接:https://pan.baidu.com/s/1hjshQsRpBYe3sav1FdiuCg?pwd=tyxx
提取码:tyxx

Oracle11,客户端连接库下载:

链接:https://pan.baidu.com/s/1xOpRrUg74fXwzYun88n89A?pwd=tyxx
提取码:tyxx

配置Oracle连接,输入主机地址,端口号,服务名,用户名和密码

FXE8]A{L1${@D`V~_}5NU`A

高级选项中客户端字符集和编码都选UTF-8

%PA~1(SN0BD]9L1`[%FQK8S

]BC6TOHDPH_GHDO8T4CV4ZV

3、OneDelphi+Oracle配置要点

首先,在OneDelphi安装目录的OnePlatform\OnePhyDBDLL\OracleDll下面拷贝相应版本的Oracle客户端连接库,跟Navicat类似,例如:

~I229RVNWJEV~DWHATP2C)A

OneDelphi下面增加账套,数据库设置如下:

29[3OL(`9)E9P6%T0%%7MU6

[$V5N%OR]N]S6ZT0`~)O8KF

5[N(8MELW]AONQ{VON6D]EY

保存配置后,重启服务。开启您的Oracle+OneDelphi之旅。

4、数据库迁移

使用Navicat迁移OneDelphi的SQL数据库到Oracle中

G@]`ISETVS%OX]Q]}[AZ`36

选择好数据源和目标数据库,忽略错误,进行数据迁移。

UQP8VA5LW9)Q%W9_)BT4(V1

5、数据库处理--小写改大写

Oracle如果表和字段名为小写,必须加上双引号,比如:

select * from "one_admin"

如果表名和字段名都为大写的情况下,SQL语句可以不用区分大小写,所以将Oracle表和字段名修改成大写,方法如下:

-- oracle 批量修改表名为大写(当前登录用户)
begin
for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
begin
execute immediate 'alter table "'||c.tn||'" rename to '||c.tn;
exception
when others then
dbms_output.put_line(c.tn||'已存在');
end;
end loop;
end;

-- oracle 批量修改列名为大写(当前登录用户) 
begin
for cl in (SELECT table_name,column_name from user_tab_columns WHERE column_name<>upper(column_name) and upper(column_name) not in('SIZE','CHECK')) loop
begin
execute immediate 'alter table '||cl.table_name||' rename column "'|| cl.column_name ||'" to '||upper(cl.column_name);
exception
when others then
dbms_output.put_line(cl.table_name||'.'||cl.column_name||'已存在');
end;
end loop;
end;

6、客户端OneFastClient注意事项

正在探索中…