Android通过jsp连接Oracle数据库-- 实例
//首先写一个jsp后台服务连接到Oracle数据库的实例myOra1(此处只是测试,所以用system身份连接到该实例)
//然后再通过jsp把数据返回给Android手机客户端
//运行jsp代码之前必须导入Oracle数据库的jdbc驱动包(jar包),名字为:classes12.jar.这个包在Oracle的安装目录下可已//找到,在浏览器中打开jsp网页前必须保证Tomcat已经正确启动。
//jsp取到的数据以xml格式展现在web页面中
//Oracle数据库中的表如下:
//jsp代码:
[html]view plaincopyprint?
1.
2.
3.<%@ page import="java.util.*"%>
4.
5.<%@ page import="java.sql.*"%>
6.
7.<%@page contentType="text/html;charset=gb2312"%>
8.
9.
10.
11.<%
12.
13.String path = request.getContextPath();
14.
15.String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
16.
17.%>
18.
19.
20.
21.<%
22.
23. try
24.
25. {
26.
27. Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
28.
29. String url="jdbc:oracle:thin:@10.88.5.117:1521:myOra1";
30.
31. String user="system";
32.
33. String password="manager";
34.
35. Connection conn= DriverManager.getConnection(url,user,password);
36.
37. Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
38.
39. String sql="select * from system.SAZHAOXUN";
40.
41. ResultSet rs=stmt.executeQuery(sql);
42.
43.
44.
45. String strID;
46.
47. String strNAME;
48.
49. String strAGE;
50.
51. String strSEX;
52.
53.
54.
55.%>
56.
57.
58.
59.
60.
61.<%
62.
63. while(rs.next())
64.
65. {
66.
67.strID=rs.getString("ID");
68.
69.strNAME=rs.getString("NAME");
70.
71.strAGE=rs.getString("AGE");
72.
73.strSEX=rs.getString("SEX");
74.
75.
76.
77.%>
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.<% } %>
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.<%
104.
105. if(rs!=null)
106.
107. {
108.
109. rs.close(); 110.
111. }
112.
113. if(stmt!=null) 114.
115. {
116.
117. stmt.close(); 118.
119. }
120.
121. if(conn!=null) 122.
123. {
124.
125. conn.close(); 126.
127. }
128.
129. }
130.
131. catch(Exception e) 132.
133. {
134.
135. e.printStackTrace(); 136.
137. }
138.
139.
140.
141. %>
//当jsp后台从Oracle数据库取到数据后就应该返回给Android,这样就实现了Android客户端间接获得Oracle中的数据Android客户端代码:
1. main.xml(布局文件):
[html]view plaincopyprint?
1.
2.
3. 4. 5.android:orientation="vertical" 6. 7.android:layout_width="fill_parent" 8. 9.android:layout_height="fill_parent" 10. 11.> 12. 13.
1.package com.AndroidLinkToJsp;
2.
3.import java.io.IOException;
4.
5.import java.io.StringReader;
6.
7.import javax.xml.parsers.SAXParserFactory;
8.
9.import org.apache.http.HttpResponse;
10.
11.import org.apache.http.client.ClientProtocolException;
12.
13.import org.apache.http.client.methods.HttpGet;
14.
15.import org.apache.http.impl.client.DefaultHttpClient;
16.
17.import org.apache.http.util.EntityUtils;
18.
19.import org.xml.sax.InputSource;
20.
21.import org.xml.sax.XMLReader;
22.
23.import com.sazhaoxun.AndroidLinkToJsp.R;
24.
25.import android.app.Activity;
26.
27.import android.os.Bundle;
28.
29.import android.view.View;
30.
31.import android.view.View.OnClickListener;
32.
33.import android.widget.Button;
34.
35.import android.widget.TextView;
36.
37.
38.
39.public class main extends Activity {
40.
41. private TextView myText;
42.
43. private Button myButton;
44.
45. //命名空间
46.
47.// private static final String urlStr="http://10.88.5.225:8080/test/MyJsp.jsp";
48.
49. /** Called when the activity is first created. */
50.
51. @Override
52.
53. public void onCreate(Bundle savedInstanceState) {
54.
55. super.onCreate(savedInstanceState);
56.
57. setContentView(https://www.doczj.com/doc/728580538.html,yout.main);
58.
59.myText = (TextView)findViewById(R.id.myText);
60.
61.myButton = (Button)findViewById(R.id.myButton);
62.
63. myButton.setOnClickListener(new showButton());
64.
65. }
66.
67.
68.
69. class showButton implements OnClickListener{
70.
71. @Override
72.
73. public void onClick(View v)
74.
75. {
76.
77.
78.
79. // TODO Auto-generated method stub
80.
81. System.out.println("开始获得数据");
82.
83. String uriAPI ="http://10.88.5.225:8080/test/MyJsp.jsp";
84.
85. /*建立HTTP Get联机*/
86.
87. HttpGet httpRequest = new HttpGet(uriAPI);
88.
89. try
90.
91. {
92.
93. /*发到HTTP request*/
94.
95. HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
96.
97. /*若状态码为200 ok*/
98.
99. if(httpResponse.getStatusLine().getStatusCode() == 200)
100.
101. {
102.
103. /*取叨并应?串*/
104.
105. String strResult = EntityUtils.toString(httpResponse.getEntity()); 106.
107. /*?除?余?元*/
108.
109. //strResult = eregi_replace("(\r\n|\r|\n|\n\r)","",strResult);
110.
111. try{
112.
113. SAXParserFactory factory=SAXParserFactory.newInstance(); 114.
115. XMLReader reader=factory.newSAXParser().getXMLReader(); 116.
117. reader.setContentHandler(new ContentHandler());
118.
119. reader.parse(new InputSource(new StringReader(strResult))); 120.
121. }
122.
123. catch (Exception e) {
124.
125. e.printStackTrace();
126.
127. }
128.
129. System.out.println("成功获得数据");
130.
131. myText.setText(strResult.toString());
132.
133.
134.
135. }
136.
137.
138.
139. else
140.
141. {
142.
143. myText.setText("Error Response: "+httpResponse.getStatusLine().toString()); 144.
145. }
146.
147. }
148.
149. catch (ClientProtocolException e)
150.
151. {
152.
153. // mTextView1.setText(e.getMessage().toString());
ORACLE数据库与实例的关系 1 数据库名 1.1 数据库名的概念 数据库名(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机 器上装了多个数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。 数据库名在$Oracle_HOME/admin/db_name/pfile/init.ora(或 $ORACLE_BASE/admin/db_name/pfile/init.ora或$ORACLE_HOME/dbs/SPFILE<实 例名>.ORA)文件中 ########################################### # Database Identification ########################################### db_domain="" db_name=orcl 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是 以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。 1.2 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的(注意这些时候不能使用sid,还有alter database时都是使用数据库名)。 有很多Oracle安装文件目录是与数据库名相关的,如: winnt: F:\oracle\product\10.2.0\oradata\DB_NAME\...
配置oracle连接 怎么在windows环境下配置连接oracle数据库? 步骤如下: 一、安装PL/SQL: 1、获取PL/SQL安装包;(PL/SQL是连接oracle的客户端) 2、安装PL/SQL; (1)双击PL/SQL安装程序,安装PL/SQL; (2)选择“I Agree”进行安装;
(3)选择安装路径(一般选择默认路径);点击【Next】按钮; (4)默认选择,点击【Next】按钮; (5)默认选择,点击【Finish】按钮,开始安装;
(6)安装进度显示 (7)窗口提示“PL/SQL Developer installed successfully”,安装完成,点击【Close】按钮。
二、配置连接 1、获取oci.dll文件(该文件是用来连接数据库的文件),将该文件及其所在的文件夹放置在一个不含有中文的路径下(如:F:\instantclient); 2、双击打开PL/SQL客户端,点击【Cancel】按钮; 3、跳转到PL/SQL页面,如下图所示。选择【Tool】—>Preferences; 4、按下图进行选择,在“Oracle Home(enpty is autodetect)”栏中选择oci.dll文件所在的目录;在“OCI library(enpty is autodetect)”栏中选择oci.dll文件
5、点击【OK】按钮即可完成 6、退出PL/SQL页面,重新登录。双击PL/SQL客户端,在Oracle Logon窗口中填写数据库的用户名、密码、数据库名和连接方式;点击【OK】按钮即可查询数据库。 完毕!谢谢!
数据库及信息管理 本栏目责任编辑:闻翔军 1引言 随着网络的飞速发展,在网络上发布公司与个人的主页已成为一种时尚。又加上电子商务的新浪潮,促使网站技术不断创新,尤其是服务器端程序语言更是日新月异,JSP是最受欢迎的一种网页程序语言。 大部分公司的网站和电子商务网站都需要利用数据库来存储重要的数据信息,对数据库中的数据进行查询、修改、更新、删除等操作是JSP访问数据库的基本操作,本文详细介绍了如何利用JSP和JDBC-ODBC桥访问SQLServer2000数据库的方法和技术。 2JSP JSP是JavaServerPages的简称,由SunMicrosystems公司倡 导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。 与其它网页技术标准相比,JSP具有很多优势:一次编写,到处运行;系统的多平台支持;强大的伸缩性;多样化和功能强大的开发工具支持。鉴于这些优势,许多程序员在编写网站程序时优先选择JSP技术。但是JSP环境配置比较繁琐,对于初学JSP的人员来说,感觉无从下手,本文就详细介绍了配置JSP环境的详细步骤。 执行JSP代码首先需要进行JAVA运行环境安装和配置,它保证了JSP的跨平台性,可以从SUN公司的主页上查询并下载所需的软件进行安装;其次需要JSP引擎的安装(例:Tomcat),有时还需要配置IIS更为方便快捷地进行JSP网页编程。JSP环境的配置稍微繁琐一些,相关资料请查阅网络上资料。 3JDBC-ODBC JSP访问SQLServer数据库的方法有多种,JDBC-ODBC桥是一种非常快速而直接的访问方式。JDBCTM是一种用于执行SQL 语句的JavaTMAPI(JDBC本身是个商标名,而不是一个缩写字;然而,JDBC常被认为是代表“Java数据库连接(JavaDatabaseCon-nectivity)” )。它由一组用Java编程语言编写的类和接口组成,允许用户从Java应用程序中访问任何表格化数据源。 JDBC定义了一个底层的API,用来支持独立于任何特定SQL实现的基本SQL功能。有了JDBC,各种关系数据库发送SQL语句就是一件很容易的事。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java和JDBC结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。 JDBC支持数据访问的两层模型(应用层、 数据库层),也支持三层模型(客户层、 中间层、数据源层)。因此,JDBC不仅可以在应用程序中使用,也可以作为中间层服务器应用程序的一部分使用。 ODBC是OpenDatabaseConnectivity的缩写,即开放数据库 互连,是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的 DBMS的ODBC驱动程序完成。 JDBC-ODBC是利用现有的ODBC,将JDBC翻译为ODBC的调用,使Java应用可以访问所有支持ODBC的数据库。这种方法操作简单,本文以此种驱动方法为例来说明如何利用JDBC访问 数据库。访问的主要步骤如下: (1)加载JDBC驱动程序:JDBC的驱动管理器查找到相应的数据库驱动程序并加载。常用的方法是在程序中使用Class.forName()方法动态装载并注册数据库驱动,在数据库的驱动程序加载后, 就可以建立与该数据库的连接了。 (2)建立数据库连接:使数据库驱动连接到相应的数据库。常使用DriverManager类的静态方法getConnection(Stringrul,Stringuser,Stringpassword)方法来完成。其中,url是数据库连接串,指定 收稿日期:2006-09-25 作者简介:马宁(1973-),女,河北省唐山人,唐山师范学院计算机系应用教研室(主任),讲师,现主要从事计算机程序语言、计算机应用的教学与科研工作;邓先瑞(1973-),女,讲师,现在中国科学院攻读博士,主要从事现主要从事计算机程序语言、自动化的教学与科研工作;杜瑞庆(1974-),男,河北省赞皇县人,讲师,现主要从事计算机程序语言的教学与科研工作。 基于JSP的SQLServer数据库访问技术 马宁,邓先瑞,杜瑞庆 (唐山师范学院,河北唐山063000) 摘要:随着网络和网络技术的飞速发展,网站编程语言也发展了很多,JSP是最受欢迎的优秀网页程序设言,本文详细介绍了利用 JSP和JDBC-ODBC访问SQLServer数据库的方法和技巧,对于程序员方便快捷地编写跨平台的高水平网页程序有一定地参考价值。 关键词:网络;JSP;JDBC-ODBC;SQLServer数据库;平台中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)02-10323-02 TechnologyofAccessingSQLServerDatabasesBasedonJSP MANing,DENGXian-rui,DURui-qing(TangshanTeachersCollege,Tangshan063000,China) Abstract:Withdevelopmentofwebandwebtechnology,programminglanguagesofwebhavemadearapidprogress.JSPisthefavoritelanguageforprogrammingwebpages.HowtouseJSPandJDBC-ODBCtoaccessSQLServerdatabasesisintroducedinthispaper,whichisusefulforprogrammerstoprogramtoplevelwebpagesthatcanworkonanyplatform. Keywords:web;JSP;JDBC-ODBC;SQLServerdatabase;platform 323
共享和专用操作模式的工作过程有什么区别? 在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn 的调度下位任意数量的用户进程提供服务。 简述oracle的初始化参数文件? 答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。 简述如何修改初始化参数文件? 答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。 简述启动数据库时的状态。 答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。 简述数据库的各种关闭方式。 答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务 页脚内容1
【填空题】 1.默认情况OEM的URL地址是https://sd04:1158/em(其中sd04为机器名) 2.Oracle9i发布于2001,i代表Internet,11G发布于2007,g代表grid(网格) 3.在oracle内存结构中,保存正在执行或可能执行的代码的区是代码区 4.在oracle进程结构中,用于实现进程监控功能的进程是PMON 1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、重做日志文件、控制文件。 2.一个表空间物理上对应一个或多数据文件 3.在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分成为数据段、索引段、回滚段、LOB段和临时段。 1.在设计表时,对于邮政编码最适合的数据类型是CHAR 2.在alter table语句中,如果要删除列,可以通过指定DROP COLUMN关键字来实现。 3.如果需要在表中插入一批已经存在的数据,可以在insert语句中使用SELECT语句。 4创建一个update语句来修改goods表中的数据,并且把每一行的t-id值都改成15,应该使用的SQL语句是UPDATE SCOTT.Goods SET t_ID=’15’ 5.使用DESC命令可以显示表的结构信息 6.两个表的主关键字和外关键字的数据应该对应一致,这是属于引用完整性,通常可以通过主键和外键来实现。 7.UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性。 1.在select语句中选择满足条件的记录使用where关键字,分组之后进行选择使用having 关键字 2.用来返回特定字段中所有值得总和的聚合函数是SUM 3.编写查询语句时,使用%通配符可以匹配多个字符。 18.集合运算符UNION实现集合的并运算,操作符INTERSECT实现了对集合的交运算,而MINUS则实现了减运算 19.如果要定义只读的视图,可以在创建视图时使用READ ONLY关键字 20.删除视图的PL\SQL语句是DROP VIEW [用户方案.]视图名 21.在使用CREATE INDEX创建索引时,使用BITMAP关键字可以创建位图索引 22.聚集(Cluster)是存储表数据的可选择的方法。一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用,表中相关的列称为聚集键 23.在为表中某个列定义PRIMARY KEY约束PK_ID后,则系统默认创建的索引名为PK_ID 24.如果表中某列的基数比较低,则应该在该列上创建反向索引 25.如果要获知索引的使用情况,可以通过查询DBA_INDEXES视图,而要获知索引的当前状态,可以查询INDEX_STATS视图。 26. 在Oracle的PL/SQL程序中,除了可以使用Oracle规定的数据类型外,还可以使用%TYPE 类型的变量,由系统根据检索的数据表列的数据类型决定该变量的类型,也可以使用%ROWTYPE 类型的变量用来一次存储从数据表中检索的一行数据。 27. SYSDATE函数可以获得当前系统的日期,SUBSTR(s,start,len)函数可以实现从指定的字符串中取指定长度的字符串。 28. 用来变异存储过程的PL/SQL语句是ALTER PROCEDURE,CREATE FUNCTION语句可以用来创建函数。
1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )
jsp连接数据库大全 现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20) 然后向这个表写入一条测试纪录 那么现在开始我们的jsp和数据库之旅吧。 一、jsp连接Oracle8/8i/9i数据库(用thin模式) testoracle.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为你的数据库的SID String user="scott"; String password="tiger"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <%}%> <%out.print("数据库操作成功,恭喜你");%> <%rs.close(); stmt.close(); conn.close(); %> 二、jsp连接Sql Server7.0/2000数据库 testsqlserver.jsp如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%>文件名称123.jsp <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312" contentType="text/html"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerP ort()+path+"/"; %> <%!public String codeToString(String str) { String s=str; try{ byte tempB[]=s.getBytes("ISO-8859-1"); s=new String(tempB); return s; } catch(Exception e) {
Oracle数据库链接建立技巧与实例讲解 数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下: CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名; 创建数据库链接,需要CREATE DATABASE LINK系统权限。 数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。 表名@数据库链接名 例:在局域网上创建和使用数据库链接。 步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。 步骤2:登录本地数据库SCOTT账户,创建数据库链接: CONNECT SCOTT/TIGER@MYDB CREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING 'MYDB_REMOTE'; 执行结果为: 数据库链接已创建。 查询远程数据库的数据: SELECT * FROM emp@abc; 结果略。 步骤4:一个分布查询: SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno; 结果略。
Java中通过jdbc(thin方式)连接Oracle数据库 package com.jdbc.OracleTest; import java.sql.DriverManager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class OracleJdbcConnectionTest{ /** *Java中通过jdbc(thin方式)连接Oracle数据库 *by jarin2008年12月13日 * *@param args */ public static void main(String[]args){ try{ //第一步要Jar包:在oracle安装的目录下,盘 符:\oracle\ora92\jdbc\lib\ojdbc14.jar //加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //连接字符串(协议名:jdbc,子协议名:oracle:thin子名 称:@localhost:1521:oracleDB) String url="jdbc:oracle:thin:@localhost:1521:ora92"; try{ //建立连接 Connection conn=DriverManager.getConnection(url, "scott","1234"); //创建Statement或者是PreparedStatement语句 Statement st=conn.createStatement(); String sqlStr="select ename from emp"; //执行查询 ResultSet rs=st.executeQuery(sqlStr); //遍历结果
我写的一个用jsp连接MySQL数据库的代码。 要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。 欢迎各位提出改进的意见。 以下用两种方式来实现JSP连接MySql数据库。 第一种方式,用JSP实现。 程序代码 <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%> <% //************************************** ********* JDBC_ODBC连接MySql数据库,不需要设置数据源 *********************************/ //********** 数据库连接代码开始******/ //以下几项请自行修改 String server="localhost"; //MYSQL 服务器的地址 String dbname="test"; //MYSQL 数据库的名字 String user="root"; //MYSQL 数据库的登录用户名 String pass="chfanwsp"; //MYSQL 数据库的登录密码 String port="3306"; //SQL Server 服务器的端口号,默认为1433 //数据库连接字符串 String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=tru e&characterEncoding=GB2312"; //加载驱动程序 Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //建立连接 Connection conn= DriverManager.getConnection(url); //创建语句对象 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); // **** 数据库连接代码结束*******
实验一-O R A C L E数据库的安装、配置与基 本操作
实验一(2学时) oracle数据库的安装、配置与基本操作 实验目的 1、掌握使用OUI安装oracle服务器与客户端; 2、掌握服务器与客户端的基本网络配置; 3、熟悉OEM的基本功能; 4、掌握使用OEM查看oracle服务器的组成及环境参数; 5、掌握使用OEM创建表空间、表; 6、掌握使用OEM启动、关闭oracle服务器; 7、熟悉ORACLE在windows操作系统环境下的物理组成及 Oracle默认的OFA体系结构; 8、熟悉SQL*PLUS环境及常用编辑命令; 第一部分指导――――――――――――――――――――――――――――――――――――――― 练习1:使用OUI安装oracle9i服务器与客户端; 问题 熟悉oracle9i OUI,能够通过OUI安装定制用户需要的oracle组件; 分析
Oracle9i OUI是一个基于JAVA的安装软件(三张光盘),用户通过OUI可以选择性地安装oracle服务器+客户端,单纯的客户端,以及OEM高级应用必须的OMS(oracle manager server)。 解决方案 (1)将Oracle9i第一张安装盘放入光驱->双击setup.exe(自动播放也可) 图1-1 安装欢迎界面 (2)下一步文件定位 路径:安装文件的位置及名称 目标: “名称”: oracle系统文件的存放“路径“的逻辑名称
图1-2 文件定位 (3)下一步可用产品 Oracle datebase9.2.0.1.0: oracle数据库服务器端+客户端Oracle9i management integration9.2.0.1.0: OMS Oracle9i client9.2.0.1.0:oracle数据库客户端 图1-3 可用产品 (4)下一步安装类型
下载SQLite数据库的JDBC 这里给出一个中文站点的URL: https://www.doczj.com/doc/728580538.html,/Upfiles/source/sqlitejdbc-v033-nested.tgz 将下载到的包解压后得到jar包sqlitejdbc-v033-nested.jar 放到%JAVA_HOME%\lib 下, 并且将其添加到classpath系统环境变量中,我的classpath系统环境变量现在为: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\sqlit ejdbc-v033-nested.jar 在你的代码中引用这个驱动: Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");//filename为你的SQLite数据名称 // ... use the database ... conn.close(); 示例程序如下:
之 Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db"); Statement stat = conn.createStatement(); stat.executeUpdate("create table tbl1(name varchar(20), salary int);");//创建一个表,两列 stat.executeUpdate("insert into tbl1 values('ZhangSan',8000);"); //插入数据 stat.executeUpdate("insert into tbl1 values('LiSi',7800);"); stat.executeUpdate("insert into tbl1 values('WangWu',5800);"); stat.executeUpdate("insert into tbl1 values('ZhaoLiu',9100);"); ResultSet rs = stat.executeQuery("select * from tbl1;");//查询数据 while(rs.next()){//将查询到的数据打印出来 System.out.print("name = "+ rs.getString("name")+" ");//列属性一 System.out.println("salary = "+ rs.getString("salary"));//列属性二
package com.examSystem.DBConnection; import java.sql.*; public class ConnectionDB { // 单态只能实例化自己 private static ConnectionDB connDB = new ConnectionDB(); // 声明一个数据库连接 private static Connection conn; // 数据库驱动字符串 private String dbdriver = "com.mysql.jdbc.Driver"; // 连接数据库URL private String URL = "jdbc:mysql://localhost:3306/a"; // 连接数据库用户名 private String username = "root"; // 连接数据库密码 private String password = "root"; // 私有的构造方法 private ConnectionDB() { // 加载数据库驱动 try { Class.forName(dbdriver); System.out.println("加载数据库驱动成功!" + dbdriver); } catch (Exception e) { System.err.println("加载数据驱动失败!具体信息:" + dbdriver); } // 连接数据库 try { conn = DriverManager.getConnection(URL, username, password); System.out.println("连接数据库成功!"); System.out.println("url:" + URL + ",username:" + username + ",password:" + password); } catch (Exception e) { System.err.println("连接数据库失败!"); System.err.println("连接数据库url地址:" + URL); System.err.println("连接数据库的用户名:" + username); System.err.println("连接数据库的密码:" + password); } } // 获取数据库连接
一利用jsp实现Oracle数据库中表格的分页浏览:
二在Oracle数据库中建立表格,包含员工的工号、姓名、性别、工龄、工资等字段,并实现增删改查操作。 (1)所建的worker表格如下: (2)Input.jsp运行结果如下:
(3)Inputcheck.jsp运行结果如下:
Pagebreak.jsp代码如下: <%@page contentType="text/html"pageEncoding="UTF-8" import="java.sql.*"%>
工号 | 姓名 | 性别 | 工龄 | 工资 |
---|