DBLINK全程例子

2025-11-06 03:15:33

1、1.首先在本机数据库上创建服务:

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

DBLINK全程例子

2、2.创建dblink:

在oracle安装目录下找到tnsnames.ora;

E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN

打开tnsnames.ora文件在里面添加如下信息并保持;

添加类似这样的格式代码:

YMMES =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.129.20)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = YMMES)    )  )

在PL/SQL等数据库语句执行软件里执行类似语句

--创建dblink sql语句create public database link net_link connect to 用户名 identified by 密码 using 'YMMES';

--删除dblink sql语句

DROP PUBLIC database link net_link

--创建dblink视图

SELECT * FROM  V_WMSWLLD_ORDER@net_link where rownum<=100 ;

--创建本地视图引用dblink视图

create or replace view orderview as SELECT * FROM  V_WMSWLLD_ORDER@net_link;

--查询本地试图可以查出,结果没问题

select ORDER_NO||'$'||MATERIAL_NO||'$'||PLAN_DATE||'$'||BOMNO||'$'||ORDER_DATE from orderview

3、3.执行dblink sql语句

代码里面可以直接输入

sql="select ORDER_NO||'$'||MATERIAL_NO||'$'||PLAN_DATE||'$'||BOMNO||'$'||ORDER_DATE from orderview";

如果你的系统封装了查询方法或框架基于hibernate,那就得自己创建一个实例化的对象ordeview,配置对象属性,然后将查询出来的方法接收为

List<Map<String, ?>> contents,List<OrderView> p=new List<OrderView>();

然后遍历将contents的值赋给p.

例如:

for (Map<String, ?> map : contents) {              

 OrderView row = new OrderView();              

 row.setId(Integer.parseInt(map.get("ORDER_ID").toString()));              

 row.setOrderNo(StringUtil.getObjString(map.get("ORDER_NO")));           

row.setMaterialNo(StringUtil.getObjString(map.get("MATERIAL_NO")));

row.setBomNo(StringUtil.getObjString(map.get("BOMNO")));              

 row.setOrderDate(DateUtil.parse(StringUtil.getObjString(map.get("ORDER_DATE")), DateUtil.PATTERN_DATETIME_YYYY_MM_DD_HH_MM_SS));    

row.setPlanDate(DateUtil.parse(StringUtil.getObjString(map.get("PLAN_DATE")), DateUtil.PATTERN_DATETIME_YYYY_MM_DD_HH_MM_SS)); orderList.add(row);          

 }

查询方法返回最终集合:return p;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢