`
54wangyong
  • 浏览: 13992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Database links小案例

 
阅读更多

oracle database link,它是用来更方便的一个数据库中访问另一个数据库(包括本地和远程的,道理一样)在本地建立的。即数据库连接只是连到别的数据库的快捷方式。

例如在192.168.104.191上有个nsbd数据库,用户名和密码分别是aqjcaqjc,LISTENER 端口号是1522

192.168.104.178上有个orcl数据库,用户名和密码分别是aqjcaqjc, LISTENER端口号是1521,数据库有张表名为static_pointformula,表中字段有spointformulaguidspointguid

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的名称,usernamepassword分别为连接字符串’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();
		}

	}

}

分享到:
评论

相关推荐

    ENSP-OSPF网络设计案例

    6. 虚链路(Virtual Links):在多区域OSPF网络中,如果骨干区域不连续,可以通过虚链路连接两个非相邻的区域,确保路由可达性。 7. 路由汇总(Summarization):在OSPF中,可以在区域边界路由器上进行路由汇总,以...

    Oracle数据库的同步复制案例

    ### Oracle数据库的同步复制案例详解 #### 一、引言 在互联网环境下,企业往往需要在不同地理位置间实现数据的实时同步与共享。为了满足这一需求,Oracle数据库提供了强大的复制功能,使得分布在不同地点的数据...

    创建dblink.txt

    本文档将详细介绍Oracle DBLink的基本概念、创建步骤、权限管理以及一些实际操作案例,帮助读者更好地理解和掌握DBLink的使用方法。 ### DBLink的概念与作用 DBLink是一种在Oracle数据库中定义的逻辑连接,它允许...

    oraclef分布式数据库及其实现

    Oracle分布式数据库的实现主要依赖于两种技术:同义词(Synonyms)和数据库链接(Database Links)。 1. **同义词(Synonyms)** - **定义**:同义词是一种指向数据库对象(如表、视图等)的名称。通过为远程...

    基于Oracle的分布式数据库设计与技术.pdf

    【数据库链接(Database Links)】 Oracle数据库链接是实现分布式数据库的关键技术之一。数据库链接允许用户在不同的Oracle数据库实例之间创建透明的连接,使得一个数据库能够直接访问和操作另一个数据库中的数据。...

    Oracle学习资料.zip

    Oracle数据库还提供了丰富的特性,如Materialized Views(物化视图)用于数据缓存,Database Links实现不同数据库间的通信,以及Advanced Queuing(AQ)提供消息队列服务。此外,Oracle的并发控制机制如行级锁定、多...

    oracle 分布式系统

    3. **透明访问**:Oracle的数据库链接(database links)功能允许用户透明地访问远程数据库,无需关心数据的实际物理位置,简化了应用程序的开发和维护工作。 4. **数据安全性**:分布式环境下的数据安全性尤为重要...

    第6章 Delphi 7 数据库开发环境.docx

    同时,通过SQL驱动程序(Borland SQL Links)可以直接访问远程服务器上的Oracle、SyBase、Microsoft SQL Server、Informix以及InterBase等数据库,或者通过ODBC(Open Database Connectivity)连接到任何兼容的...

    数据库创建方法

    ### 数据库创建方法:Oracle实例详解 #### 一、背景介绍 在IT行业中,数据库管理是一项重要的技术领域,尤其对于大型企业和组织来说,选择...对于希望深入了解Oracle数据库管理的读者来说,这是一个很好的实践案例。

    JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+论文).rar

    这部分通常涉及到数据库管理,例如使用Java的JDBC(Java Database Connectivity)接口连接到关系型数据库,如MySQL或Oracle,进行数据操作。开发者需要编写SQL查询来存储、检索和更新信息,同时实现安全的数据访问...

    基于PHP的笔记本网址导航源码.zip

    6. **models/links.php** - 关于链接管理的模型,包括添加、删除、编辑链接的函数。 7. **views/** - 存放各种视图(HTML模板)的目录,如用户界面元素。 8. **css/** - CSS样式表文件,定义网站的布局和外观。 9. *...

    oracle学习资料

    综上所述,"Oracle学习资料"压缩包中可能包含从基础到高级的Oracle教程、实践案例、实战项目、SQL查询示例、PL/SQL编程指南、数据库管理手册、性能优化技巧等内容,全面覆盖了Oracle的学习路径。无论你是数据库新手...

    al-qamar-flask-market:使用python flask制作的简单营销网络应用程序

    5. **数据库集成(Database Integration)**: 营销应用程序通常需要存储商品信息、用户数据等,`Flask`可以通过扩展(如SQLAlchemy)实现数据库操作。在这个案例中,可能使用了SQLite或MySQL等数据库。 **HTML基础...

    firebase-978-1-7886-2471-8:掌握适用于Android开发的Firebase

    本压缩包文件"firebase-978-1-7886-2471-8"显然是关于使用Firebase进行Android应用开发的资源集合,可能包含源代码、教程或案例研究,旨在帮助开发者深入了解和熟练运用Firebase的各项功能。 Firebase为Android...

Global site tag (gtag.js) - Google Analytics