通过OracleNetAssistant(oracle网络配置助手),配置本地网络服务名,从而实现连接oracle数据库:
方法:
按Windows徽标键,进入开始界面,找到NetAssistant,单击运行之
进入OracleNetAssistant配置向导,勾选本地网络服务名配置,单击下一步;
在网络服务名配置中,勾选添加,单击下一步
输入服务名:dbname(oracle数据库的服务名通常是全局数据库名,即输入创建的数据库名称)
选择访问数据库的协议:TCP,单击下一步;
输入数据库所在的计算机主机名:dream(也可以输入主机IP地址),勾选使用标准端口1521,单击下一步
测试,进行连接数据库的测试,勾选是,进行测试,单击下一步,选择更改登录,输入数据库的用户名、口令,单击确定,显示正在连接,测试成功
配置网络服务名,单击下一步;
是否配置另一个网络服务名,勾选否,单击下一步,显示网络服务名配置完毕,单击下一步,单击完成
运行plsql,输入用户名、口令,选择数据库,连接
实时数据库系统是开发实时控制系统、数据采集系统、CIMS系统等的支撑软件。在流程行业中,大量使用实时数据库系统进行控制系统监控,系统先进控制和优化控制,并为企业的生产管理和调度、数据分析、决策支持及远程在线浏览提供实时数据服务和多种数据管理功能。实时数据库已经成为企业信息化的基础数据平台,可直接实时采集、获取企业运行过程中的各种数据,并将其转化为对各类业务有效的公共信息,满足企业生产管理、企业过程监控、企业经营管理之间对实时信息完整性、一致性、安全共享的需求,可为企业自动化系统与管理信息系统间建立起信息沟通的桥梁。帮助企业的各专业管理部门利用这些关键的实时信息,提高生产销售的营运效率。
jdbc是数据库中间代理商为了是java连接数据库而定的一个协议 或者说是方法,通过jdbc-odbc的方法进行数据库连接,是连接一次创建一次的做法 1,由数据库驱动和协议组成连接数据的方法,调用中间商提供的类包,进行创建连接 2再由连接去调用3种状态 3由状态来提供对数据库的 *** 作 jndi是一种命名树的方式,把需要的类都列成目录的样式,需要哪个只要根据命名直接去 调用,是一种比较快洁的思想和行为 当你要 *** 作数据库的用jdbc *** 作命名服务用jndi Java Database Connectivity (JDBC)是一个标准的Java API,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句 JNDI(Java Name Directory Interface),可不仅仅是进行数据库定位的, 它是给当前应用服务器所管理的所有资源一个唯一的标识,包括数据库,网页,文件, 连接池等等。
配置 JNDI绑定
此处绑定的数据源是以 DBCP 为实现。首先必须将数据库驱动(这里用了MYSQL数据库)和DBCP所需要的 Jar 包复制到 Jetty 根目录的 lib 目录下。DBCP主要需要以下3个文件:
Commons-dbcpjar
Commons-pooljar
Commons-collectionsjar
jdbc和jndi区别
Connection conn = null;
try{
ClassforName("commysqljdbcDriver",true,ThreadcurrentThread()getContextClassLoader());
conn = DriverManagergetConnection("jdbc:mysql://MyDBServeruser=&password=");
connclose();
}
catch(){}finally{
if(conn!=null){
try{
connclose();
}
catch(){}
}
}
存在的问题?
1、数据库服务器名称MyDBServer 用户名和口令可能需要修改,由此引发JDBC URL修要修改;
2、数据库可能该用别的产品;
3、随着实际终端的增加,原配置的连接池参数可能需要调整;
解决办法
程序员不必关心数据库级别的事情,只需要知道如何引用即可
JNDI出现了。
定义数据源,也就是JDBC引用参数,给这个数据源设置一个名称;
在程序中通过数据源名称引用数据源,从而访问数据库;
//jndi连接
Context initCtx = new InitialContext();
Context envCtx = (Context)initCtxlookup("java:comp/env");
DataSource ds = (DataSource)envCtxlookup("jdbc/webtest");
conn = dsgetConnection();
//jdbc连接
ClassforName("commysqljdbcDriver",true,ThreadcurrentThread()getContextClassLoader());
conn = DriverManagergetConnection("jdbc:mysql://localhost/mismainuser=root&autoReconnect=true");
程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的 JDBC URL 连接到数据库。
就像以下代码这样:
Connection conn=null;
try {
ClassforName("commysqljdbcDriver", true, ThreadcurrentThread()getContextClassLoader());
conn=DriverManagergetConnection("jdbc:mysql://MyDBServeruser=qingfeng&password=mingyue");
connclose();
} catch(Exception e) {
eprintStackTrace();
} finally {
if(conn!=null) {
try {
connclose();
} catch(SQLException e) {}
}
}
这是传统的做法,也是以前非Java程序员(如Delphi、VB等)常见的做法。这种做法一般在小规模的开发过程中不会产生问题,只要程序员熟悉Java语言、了解JDBC技术和MySQL,可以很快开发出相应的应用程序。
没有JNDI的做法存在的问题:1、数据库服务器名称MyDBServer 、用户名和口令都可能需要改变,由此引发JDBC URL需要修改;2、数据库可能改用别的产品,如改用DB2或者Oracle,引发JDBC驱动程序包和类名需要修改;3、随着实际使用终端的增加,原配 置的连接池参数可能需要调整;4、……
解决办法:程序员应该不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,程序员只需要对这些配置和管理进行引用即可。
由此,就有了JNDI
用了JNDI之后的做法:首先,在在J2EE容器中配置JNDI参数,定义一个数据源,也就是JDBC引用参数,给这个数据源设置一个名称;然后,在程序中,通过数据源名称引用数据源从而访问后台数据库。
具体 *** 作如下(以JBoss为例):
1、配置数据源
在JBoss 的 D:\jboss420GA\docs\examples\jca 文件夹下面,有很多不同数据库引用的数据源定义模板。将其中的 mysql-dsxml 文件Copy到你使用的服务器下,如 D:\jboss420GA\server\default\deploy。
修改 mysql-dsxml 文件的内容,使之能通过JDBC正确访问你的MySQL数据库,
如下:
Connection conn=null;
try {
ClassforName("commysqljdbcDriver", true, ThreadcurrentThread()getContextClassLoader());
conn=DriverManagergetConnection("jdbc:mysql://MyDBServeruser=qingfeng&password=mingyue");
connclose();
} catch(Exception e) {
eprintStackTrace();
} finally {
if(conn!=null) {
try {
connclose();
} catch(SQLException e) {}
}
}
<xml version="10" encoding="UTF-8">
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/lw</connection-url>
<driver-class>commysqljdbcDriver</driver-class>
<user-name>root</user-name>
<password>rootpassword</password>
<exception-sorter-class-name>orgjbossresourceadapterjdbcvendorMySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
这里,定义了一个名为MySqlDS的数据源,其参数包括JDBC的URL,驱动类名,用户名及密码等。
2、在程序中引用数据源:
Connection conn=null;try {
Context ctx=new InitialContext();
Object datasourceRef=ctxlookup("java:MySqlDS"); //引用数据源 DataSource ds=(Datasource)datasourceRef; conn=dsgetConnection();
cclose();
} catch(Exception e) {
eprintStackTrace();
} finally {
if(conn!=null) {
try {
connclose();
} catch(SQLException e) { }
}
}
直接使用JDBC或者通过JNDI引用数据源的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。
在系统部署后,如果数据库的相关参数变更,只需要重新配置 mysql-dsxml 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。
由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。
1、ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分。
2、ODBC技术。ODBC的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。
3、一种动态链接库 (DLL),支持 ODBC 的应用程序(如 Excel)可以用它来访问 ODBC 数据源。每个 ODBC 驱动程序针对一个数据库管理系统 (DBMS),如 SQL Server、Access 等等。
4、MyODBC是提供标准ODBC界面存取的程序,用VB、VC、BCB、Access等等透过ODBC直接存取数据库,减少Web Server更新MySQL数据库。
5、unixodbc是一个来连接数据库的组件。该版本主要是支持 64 位的 SQLLEN,修复了一些bug;另外驱动部分和图形化设置工具分开为两个独立的项目。它能让你在Unix/Linux系统下使用ODBC。
参考资料来源:百度百科—unixodbc
百度百科—myodbc
百度百科—ODBC驱动程序
百度百科—ODBC技术
百度百科—ODBC数据源
以上就是关于plsql怎么连接本地oracle数据库(plsql连接本地oracle配置)全部的内容,包括:plsql怎么连接本地oracle数据库(plsql连接本地oracle配置)、实时数据库采集的主要协议有哪些、JDBC与JNDI这两种连接方式有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)