oracle database link,它是用来更方便的一个数据库中访问另一个数据库(包括本地和远程的,道理一样)在本地建立的。即数据库连接只是连到别的数据库的快捷方式。
例如在192.168.104.191上有个nsbd数据库,用户名和密码分别是aqjc、aqjc,LISTENER 端口号是1522
在192.168.104.178上有个orcl数据库,用户名和密码分别是aqjc、aqjc, LISTENER端口号是1521,数据库有张表名为static_pointformula,表中字段有spointformulaguid和spointguid
1.创建database link
先在191机器上创建database link,创建语句有两种方式:
第一种,先在tnsnames.ora里配置连接178的字符串,如下所示
178 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.104.178)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
然后用sql 语句创建database link,创建语句如下所示:
Create public database link dblinkName connect to username
identified by password using ‘connect string’
其中dblinkName为创建database link的名称,username和password分别为连接字符串’connect string ‘所指向的服务器中的数据库的用户名和密码,所以创建连接178机器上的database link如下所示:
Create public database link aaa connect to aqjc identified by aqjc using ‘178’
第二种,不用在tnsnames.ora里配置连接178的字符串,可以直接写在创建database link语句里,如下所示:
Create public database link aaa connect to aqjc identified by aqjc using ‘(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.104.178)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)’
2. 使用database link
public class TestDatabaseLink {
static Connection conn = null;
static {
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String user = "aqjc";
String password = "aqjc";
String url = "jdbc:oracle:thin:@localhost:1522:nsbd";
conn = DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
//增、删、改、查语句如下所示,其中每个语句的表名static_pointformula后面跟的aaa是前面创建的database link的名称
conn.setAutoCommit(false);
Statement stat = conn.createStatement();
String sqlString = "insert into static_pointformula@aaa (spointformulaguid,spointguid) values('1','S_145')";
//sqlString = "update static_pointformula@aaa set norderid = '1' where spointformulaguid = '1'";
//sqlString = "delete from static_pointformula@aaa where spointformulaguid = '1'";
//System.out.println(stat.executeUpdate(sqlString));
conn.commit();
ResultSet rs = stat.executeQuery("select * from static_pointformula@dblinkName");
while(rs.next()){
System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3));
}
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
}
分享到:
相关推荐
6. 虚链路(Virtual Links):在多区域OSPF网络中,如果骨干区域不连续,可以通过虚链路连接两个非相邻的区域,确保路由可达性。 7. 路由汇总(Summarization):在OSPF中,可以在区域边界路由器上进行路由汇总,以...
### Oracle数据库的同步复制案例详解 #### 一、引言 在互联网环境下,企业往往需要在不同地理位置间实现数据的实时同步与共享。为了满足这一需求,Oracle数据库提供了强大的复制功能,使得分布在不同地点的数据...
本文档将详细介绍Oracle DBLink的基本概念、创建步骤、权限管理以及一些实际操作案例,帮助读者更好地理解和掌握DBLink的使用方法。 ### DBLink的概念与作用 DBLink是一种在Oracle数据库中定义的逻辑连接,它允许...
Oracle分布式数据库的实现主要依赖于两种技术:同义词(Synonyms)和数据库链接(Database Links)。 1. **同义词(Synonyms)** - **定义**:同义词是一种指向数据库对象(如表、视图等)的名称。通过为远程...
【数据库链接(Database Links)】 Oracle数据库链接是实现分布式数据库的关键技术之一。数据库链接允许用户在不同的Oracle数据库实例之间创建透明的连接,使得一个数据库能够直接访问和操作另一个数据库中的数据。...
Oracle数据库还提供了丰富的特性,如Materialized Views(物化视图)用于数据缓存,Database Links实现不同数据库间的通信,以及Advanced Queuing(AQ)提供消息队列服务。此外,Oracle的并发控制机制如行级锁定、多...
3. **透明访问**:Oracle的数据库链接(database links)功能允许用户透明地访问远程数据库,无需关心数据的实际物理位置,简化了应用程序的开发和维护工作。 4. **数据安全性**:分布式环境下的数据安全性尤为重要...
同时,通过SQL驱动程序(Borland SQL Links)可以直接访问远程服务器上的Oracle、SyBase、Microsoft SQL Server、Informix以及InterBase等数据库,或者通过ODBC(Open Database Connectivity)连接到任何兼容的...
### 数据库创建方法:Oracle实例详解 #### 一、背景介绍 在IT行业中,数据库管理是一项重要的技术领域,尤其对于大型企业和组织来说,选择...对于希望深入了解Oracle数据库管理的读者来说,这是一个很好的实践案例。
这部分通常涉及到数据库管理,例如使用Java的JDBC(Java Database Connectivity)接口连接到关系型数据库,如MySQL或Oracle,进行数据操作。开发者需要编写SQL查询来存储、检索和更新信息,同时实现安全的数据访问...
6. **models/links.php** - 关于链接管理的模型,包括添加、删除、编辑链接的函数。 7. **views/** - 存放各种视图(HTML模板)的目录,如用户界面元素。 8. **css/** - CSS样式表文件,定义网站的布局和外观。 9. *...
综上所述,"Oracle学习资料"压缩包中可能包含从基础到高级的Oracle教程、实践案例、实战项目、SQL查询示例、PL/SQL编程指南、数据库管理手册、性能优化技巧等内容,全面覆盖了Oracle的学习路径。无论你是数据库新手...
5. **数据库集成(Database Integration)**: 营销应用程序通常需要存储商品信息、用户数据等,`Flask`可以通过扩展(如SQLAlchemy)实现数据库操作。在这个案例中,可能使用了SQLite或MySQL等数据库。 **HTML基础...
本压缩包文件"firebase-978-1-7886-2471-8"显然是关于使用Firebase进行Android应用开发的资源集合,可能包含源代码、教程或案例研究,旨在帮助开发者深入了解和熟练运用Firebase的各项功能。 Firebase为Android...