经过一段时间的卸载重装,算是对myeclipse连接oracle有了点了解,写此文,希望后学者不要重蹈覆辙!

一、首先按装oracle10g步奏:

请先大概的看一遍步奏,再一步步安装。

Oracle Database 10gfor Windows安装

一、操作系统

l  Windows Server 2003

l  Windows 2000 SP1

l  Windows XP Professional

l  Windows NT Server4.0

二、下载软件

http://www.oracle.com/technology/global/cn/software/index.html

论坛ftp上面也有

三、安装

1.运行setup.exe出现图1所示的“Oracle Database 10g安装”画面。

图 1 Oracle Database 10g安装

画面中网格背景寓示了10g的卖点Grid Computing“网格计算”。

l  选中“高级安装”,以便为SYS、SYSTEM设置不同的口令,并进行选择性配置。

2.“下一步”进入“Oracle Universal Installer:指定文件位置”,见图2。

图 2 指定文件位置

l  设置源“路径”、“名称”和目的“路径”,见图3所示。

n  “名称”对应ORACLE_HOME_NAME环境变量

n  “路径”对应ORACLE_HOME环境变量

图 3 设置源“路径”、“名称”和目的“路径”

3.“下一步” 进入“Oracle Universal Installer:选择安装类型”,见图4。

图 4  选择安装类型

4.保持默认值,下一步,进入“Oracle Universal Installer:选择数据库配置”,见图5。

图 5  选择数据库配置

5.保持默认值,下一步,进入“Oracle Universal Installer:指定数据库配置选项”,见图6。

图 6  指定数据库配置选项

l  指定“全局数据库名”和“SID”,对这两个参数的指定一般相同,例如:oract。

l  也可以将“全局数据库名”设置为域名。例如:oract.abc.com

l  如果选择“创建带样本方案的数据库,OUI会在数据库中创建HR、OE、SH等范例方案(sample schema)

6.下一步,进入“Oracle Universal Installer:选择数据库管理选项”,见图7。

图 7  选择数据库管理选项

7.保持默认值,下一步,进入“Oracle Universal Installer:指定数据库文件存储选项”,见图8。

图 8  指定数据库文件存储选项

8.保持默认值,下一步,进入“Oracle Universal Installer:指定备份和恢复选项”,见图9。

图 9  指定备份和恢复选项

9.保持默认值,单击“下一步”,进入“Oracle Universal Installer:指定数据库方案的口令”,如图10所示。

图 10  指定数据库方案的口令

l  对不同的帐户设置不同的口令。

10.单击“下一步”,继续安装,进入“Oracle Universal Installer:概要”,如图11所示。

图 11概要

12.单击“安装”,开始安装过程,大约半小时。

13.数据库创建完成时,显示“Database Configuration Assistant”窗口,如图12所示。

图 12  DatabaseConfiguration Assistant

14.单击“口令管理”,进入“口令管理”窗口,如图13所示。

图 13  口令管理

15.解锁用户HR、OE和SCOTT,输入HR和OE的口令,SCOTT的默认口令为tiger。
16.单击“确定”返回“Database Configuration Assistant”窗口。
17.在图15所示窗口单击“确定”,进入“Oracle Universal Installer:安装 结束”窗口,如图14所示。

图 14  安装结束

18.检查,单击“退出”,完成安装。
19.在自动打开的浏览器中以sys账户sysdba身份登录10g的企业管理器。

第一次要接受license,单击Iagree,以后就不用了。

四、查看安装情况

1.目录结构

图 15  oracle目录结构

l  默认ORACLE_BASE

n  在Windows中,默认的ORACLE_BASE目录是:

D:\oracle\product\10.1.0

n  在UNIX中,默认的ORACLE_BASE目录是:

/pm/app/oracle/10.1.0

所有的ORACLE软件文件和数据库文件都位于ORACLE_BASE下面的子目录中。

l  默认ORACLE_HOME

n  在Windows中,默认的ORACLE_HOME目录是:

D:\oracle\product\10.1.0\dbct

n  在UNIX中,默认的ORACLE_HOME目录是:

/pm/app/oracle/10.1.0/dbct

ORACLE_HOME是访问所有ORACLE软件的路径。

l  Admin文件夹,存储初始化文件和日志文件

l  Oradata\oract文件夹,存储数据库数据文件.dbf、控制文件.ctl、重做日志文件.log

图 16 Oradata\oract文件夹

 

2.查看“服务”管理器中相关的Oracle服务。

图 17Oracle服务

l OracleCSService服务

在做10G RAC的時候才會有。CSS(Cluster Synchronization Service)

 

3.注册表

图 18 注册表

图 19  注册表相关键值

l  语言的设置

名称                         数据

NLS_LANG               SIMPLIFIEDCHINESE_CHINA.ZHS16GBK

其中:SIMPLIFIED CHINESE表示简体中文

        CHINA表示中文日期格式

        ZHS16GBK表示编码

 

NLS_LANG格式:NLS_LANG=language_territory.charset
有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如:
AMERICAN_AMERICA.US7SCII
JPANESE_JAPAN.JA16EUC
其中:language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
Charset 指定字符集

 

还有一些子集可以更明确定义NLS_LANG参数:
NLS_DATE_FORMAT 缺省的日期格式
NLS_DATE_LANGUAGE 缺省的语言
NLS_NUMBERIC_CHARACTERS 小数字符和组分隔开
NLS_CURRENCY 本地货币字符
NLS_ISO_CURRENCY ISO货币字符
NLS_SORT 字符排序序列

 

如果使用英文,将NLS_LANG的值改为:

AMERICAN_AMERICA.WE8ISO8859P1

englishi_America.US7SCII

在SQL/PLUS中,运行下面的SQL语句,检查所连接数据库的字符集:

SQL> selectuserenv('language') from dual;
  USERENV('LANGUAGE')
  ----------------------------------------------------
  SIMPLIFIED CHINESE_CHINA.ZHS16GBK

4.PATH环境变量

D:\oracle\product\10.1.0\dbct\bin;D:\oracle\product\10.1.0\dbct\jre\1.4.2\bin\client;D:\oracle\product\10.1.0\dbct\jre\1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

 

5.开始> 所有程序 中增加Oracle - OraDb10g_home文件夹

 

6.oracle10g 更改8080端口号(如果需要)

sqlplus下执行:

 calldbms_xdb.cfg_update(updateXML( dbms_xdb.cfg_get()
  , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
  , 9000))
/

commit;

 

五、测试安装好的Oracle 10g是否能正常运行

在安装过程中,OUI会在 <ORACLE_HOME>\install下创建两个文件:

readme.txt:记录各种Oracle应用程序的URL与端口。

Portlist.ini:记录Oracle应用程序所使用的端口。

1.登录EnterpriseManager 10g Database Control

与以前的版本不同,Oracle企业管理器只有B/S模式。在Web浏览器中输入下列URL:

http://<Oracle服务器名称>:5500/em

例如:http://localhost:5500/em

进入Enterprise Manager 10g登录窗口。用SYS帐户,以SYSDBA身份登录Oracle数据库。

图 20  sys登录Enterprise Manager 10gdatabase Control

如果是第一次登录时,先进入Oracle 10g版权页。

图 21  Oracle 10g版权声明

 

单击右下方的“I Agree”按钮,进入EnterpriseManager 10g。

图 22  在Database Control中查看数据库配置信息

现在我们可以用来管理Oracle数据库了。

2.使用iSQL*Pls登录Oracle数据库

iSQL*Plus是B/S模式的客户端工具。在Web浏览器中输入下列URL:

http://<Oracle服务器名称>:5560/isqlplus

例如:http://localhost:5560/isqlplus

进入iSQL*Plus登录窗口。用hr帐户登录Oracle数据库。

图 23  Oracle 10g的iSQL*Plus登录页面

注:如果不知道HR的口令,现用sys登录,修改HR的口令,例如,将HR的口令改为hr:alter user hr identified by hr;

登录进入iSQL*Plus工作区后,可以在工作区输入SQL*Plus指令、SQL语句与PL/SQL语句。

图 24  在iSQL*Plus工作区执行SELECT语句

图 25  在iSQL*Plus中查看SELECT语句的执行结果

3.使用SQL*Pls登录Oracle数据库

SQL*Plus是C/S模式的客户端工具程序。

l  单击“开始” > “所有程序” > “Oracle – Oracle10g_home” > “Application Development” > “SQL*Plus”

l  在登录窗口中输入hr帐号与口令

图 26  在SQL*Plus中执行SELECT语句

4.使用命令行SQL*Pls登录Oracle数据库

传统的SQL*Plus是一个命令行客户端程序。在命令窗口中输入图27中所示的命令进行测试。

图 27  在命令行SQL*Plus中执行SELECT语句

六、结语

Oracle 10g提供了高性能与高稳定性的企业级数据存储方案,也对Windows操作系统提供了更好的支持。借助Windows操作系统以线程为基础的服务模式,Oracle 10g可以提供更高的执行性能、更稳定的执行环境,以及更具扩展性的平台。在WindowsServer 2003上安装64位版本的Oracle 10g数据库,更能发挥Oracle强大的数据处理能力。

 

附:

在Windows操作系统下安装Oracle 10g数据库以后,计算机的运行速度明显降低,所以在不使用数据库时,可将Oracle 10g数据库服务关闭,如图28所示。

图 28  停止 Oracle服务

 

要使用数据库时,根据应用情况只启动必要的服务,必须启动的服务如图29所示。

图 29 启动必须的 Oracle服务

 

 

Oracle 数据库监听器的默认端口是1521。可以在:

ORACLE_HOME\network\admin\listener.ora文件中查看监听器端口。

 

 二、若第一次安装失败

NT环境下:
  1、以NT的Administrator 登陆
  2、通过控制面版-〉服务,停掉所有ORACLE服务
  3、打开注册表(REGEDIT命令),删除HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
  4、打开注册表中的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services删除以ORACLE开头的所有服务
  5、删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application下以ORACLE开头的所有服务
  6、关闭REGEDIT
  7、打开控制面版-〉系统-〉环境变量
  8、如果ORACLE安装了JRE,就删除%ORACLE_HOME%\BIN和JRE路径。比如 \ORACLE\ORA81\BIN;G: \Program Files\Oracle\jre\1.1.7\bin
  9、删除\Winnt\Profiles\All Users\Start Menu\Programs\Oracle 和\Winnt\Profiles\All Users\Start Menu\Programs\Oracle
  10、删除\Program Files\Oracle
  11、重新启动机器
  12、删除所有ORACLE目录(在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMES下)
  
  在 Windows 95 / Windows 98:
  1. 打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.
  2.删除前面步骤中的第3步中的ORACLE
  3. 删除AUTOEXEC.BAT 中的 %ORACLE_HOME%\bin 和 JRE
  4. 删除所有ORACLE目录
  5. \Program Files\Oracle
  6. \Windows\Start Menu\Programs\Oracle - <HOME>\Windows\StartMenu\Programs\Oracle
  7. 重新启动

三,接下来就是Myeclipse连接oracle了

为在MyEclipse中设置连接Oracle数据库,在Eclipse中选择Window→Show View→Other→MyEclipse Database→DB Browser选项。右击DB Browser视图的空白部分,选择New选项,如图2 3所示。

 
图2 3  选择New选项

在弹出的窗口中,输入连接Oracle数据库所需要的相应参数,以及Oracle驱动类库的文件名与位置。单击Next按钮,如图2 4所示。

 
图2 4  输入连接Oracle数据库的参数


接下来为连接源代码:

1.新建_TestOOP_JDBC工程

2.工程下面建四个包,分别为com.szy.DAO,com.szy.DO,com.szy.IDAO,com.szy.Test

3.将jar包到如工程下面的lib里(lib在WEB-INF下)

4.在oracle里建Student表,并且插入数据

5.下面为完整代码

package com.szy.DAO;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DBHelper {


private static final String DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@localhost:1521:chenrq";
private static final String USER_NAME = "system";
private static final String PASS = "chenrq";


public static Connection getConnection() {
Connection connection = null;
try {
Class.forName(DRIVER_CLASS);
connection = DriverManager.getConnection(URL, USER_NAME, PASS);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}


public static void closeAll(Connection connection, Statement statement,
ResultSet rs) {
try {
if (rs != null)
rs.close();
if (statement != null)
statement.close();
if (connection != null && !connection.isClosed())
connection.close();
} catch (Exception ex) {
ex.printStackTrace();
}


}
}


package com.szy.DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import com.szy.DO.Student;
import com.szy.IDAO.IStudentDAO;


public class StudentDAO implements IStudentDAO {


public void addStudent(Student student) {
Connection connection = null;
PreparedStatement statement = null;
try {
connection = DBHelper.getConnection();
String sql = "insert into student(name,pass,age) values(?,?,?)";
statement = connection.prepareStatement(sql);
statement.setString(1, student.getName());
statement.setString(2, student.getPass());
statement.setInt(3, student.getAge());
int a = statement.executeUpdate();
System.out.println(a);
} catch (Exception ex) {
ex.printStackTrace();
}


}


public int deleteStudentById(int id) {
List<Student> lt = new ArrayList<Student>();
Connection connection = null;
PreparedStatement stament = null;
int a = 0;
try {
connection = DBHelper.getConnection();
String sql = "delete from student where id=?";
stament = connection.prepareStatement(sql);
stament.setInt(1, id);
a = stament.executeUpdate();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
DBHelper.closeAll(connection, stament, null);
}
return a;
}


public List<Student> findStudent() {
List<Student> lt = new ArrayList<Student>();
return lt;
}


public int updateStudent(Student student) {
return 0;
}


public boolean login(String name, String pass) {
// TODO Auto-generated method stub
if ("accp".equals(name)) {
return true;
} else
return false;
}


}


package com.szy.DO;


public class Student {
private int id;
private String name;
private String pass;
private int age;


public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public String getPass() {
return pass;
}


public void setPass(String pass) {
this.pass = pass;
}


public int getAge() {
return age;
}


public void setAge(int age) {
this.age = age;
}


public Student(int id, String name, String pass, int age) {
super();
this.id = id;
this.name = name;
this.pass = pass;
this.age = age;
}
public Student( String name, String pass, int age) {
super();
this.name = name;
this.pass = pass;
this.age = age;
}


public Student() {
super();
// TODO Auto-generated constructor stub
}


}


package com.szy.IDAO;


import java.util.List;


import com.szy.DO.Student;


public interface IStudentDAO {


public void addStudent(Student student);


public int deleteStudentById(int id);


public int updateStudent(Student student);


public List<Student> findStudent();

public boolean login(String name,String pass);
}


package com.szy.Test;


import com.szy.DAO.StudentDAO;
import com.szy.DO.Student;


public class TestStudent {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StudentDAO studentDAO = new StudentDAO();
Student student = new Student("ttt", "123", 22);
studentDAO.addStudent(student);
// List<Student> lt = studentDao.findStudent();
// System.out.prinltn(lt.size());
}


}


6.在oracl中查看是否插入一行数据

       ID NAME       PASS                        AGE

         ttt        123                          22

(完)。记得留下脚印,谢谢!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值