java数据库如何下载,java如何控制数据库

一、从Oracle和Microsift网站上下载JDBC驱动程序

n下载Oracle JDBC驱动程序

1.网址:

[url]http://www.oracle.com/technology/global/cn/software/tech/java/sqlj_jdbc/index.html[/url]

2.在Eclipse安装目录,例如D:\lecture\JAVA\Eclipse\eclipse下创建路径:

D:\lecture\JAVA\Eclipse\eclipse\jdbc\OracleJDBC\lib。

3.下载4个java归档文件放入其中:

1)ocrs12.jar

2)ojdbc14.jar

3)ojdbc14dms.jar

4)orai18n.jar

n下载SQL Server 2000 Driver for JDBC Service Pack 3,支持JDK 1.4

1.网址:

[url]http://www.microsoft.com/downloads/details.aspx?FamilyID=07287b11-0502[/url]-461a-b138-2aa54bfdc03a&displaylang=en

2.执行setup.exe安装SQL Server JDBC驱动程序。在安装目录下有帮助文件。

3.在Eclipse安装目录,例如D:\lecture\JAVA\Eclipse\eclipse下创建路经:

D:\lecture\JAVA\Eclipse\eclipse\jdbc\SQLServerJDBC\lib。

4.将setup.exe安装的下面3个java归档文件放入其中:

1)msbase.jar

2)mssqlserver.jar

3)msutil.jar

二、在项目库中导入驱动程序库

1.创建新项目。文件>新建>项目>打开新建项目对话框。

2.选择Java项目>下一步>打开新建Java项目对话框。

3.输入项目名JDBCTest >完成。

4.打开导航器窗口,检查新创建的项目。

三、用于测试连接的代码示例

n用于SQL Server的测试连接的代码示例

安装了Microsoft SQL Server 2000 JDBC驱动程序后,可以通过两种方式从您的程序连接到数据库:使用连接URL,或使用JNDI数据源。本文介绍如何使用连接URL配置和测试数据库连接。

连接到数据库的一种方法是通过JDBC驱动程序管理器,使用DriverManager类的getConnection方法。使用此方法时,最简单的方式是使用一个包含URL、用户名和密码的字符串参数。下面介绍如何从JDBC程序载入Microsoft SQL Server 2000 JDBC驱动程序。

创建测试类

1.右击新建的项目JDBCTest >新建>包>打开新建Java包对话框。

2.在名称栏输入testJDBC >完成。

3.右击新建的包testJDBC >新建>类>打开新建Java类对话框。

4.在名称栏输入SQLServerJDBCTest >完成。

添加库

要将JAR文件添加到现有应用程序中。

1.右击项目JDBCTest >属性>打开JDBCTest的属性对话框。

2.在左边的窗格中选择Java构建路径>在右边的窗格中选择库标签

3.单击按钮添加外部JAR>选择前面下载的3个SQL Server JDBC驱动程序的JAR文件>确定。

注册驱动程序

注册驱动程序的目的是为了通知JDBC驱动程序管理器载入哪个驱动程序。当使用class.forName函数载入驱动程序时,您必须指定驱动程序的名称。以下是Microsoft SQL Server 2000 JDBC驱动程序的名称:

com.microsoft.jdbc.sqlserver.SQLServerDriver

下面的代码示例演示如何注册驱动程序:

Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

传递连接URL

必须以连接URL的形式传递数据库连接信息。以下是Microsoft SQL Server 2000 JDBC驱动程序的模板URL。请用您数据库的值替换以下值:

jdbc:microsoft:sqlserver://servername:1433

下面的代码示例演示如何指定连接URL:

con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");

服务器名称值可以是IP地址或主机名(假定您的网络可以将主机名解析为IP地址)。您可以通过对主机名执行PING命令来进行测试,验证是否可以接收到响应,以及响应的IP地址是否正确。

服务器名称后面的数字值是数据库侦听的端口号。上文列出的值是示例默认值。确保用您的数据库使用的端口号替换该值。

要获取连接 URL参数的完整列表,请参见Microsoft SQL Server 2000 JDBC驱动程序HTML帮助,或参见联机指南。请参见“连接字符串属性”一节。

下面的代码示例尝试连接到数据库,并显示数据库名称、版本和可用编目。请用您服务器的值替换代码中的服务器属性:

package testJDBC;

public class SQLServerJDBCTest {

private java.sql.Connectioncon = null;

private final String url = "jdbc:microsoft:sqlserver://";

private final String serverName= "localhost";

private final String portNumber = "1433";

private final String databaseName= "pubs";

private final String userName = "sa";

private final String password = "wyfd";

//告诉驱动器使用服务器端游标,

//它允许在一个连接上的多个活动语句。

private final String selectMethod = "cursor";

private java.sql.Connection getConnection(){

try{

// A.注册SQL Server JDBC驱动程序

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

// B.创建新数据库连接

con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);

if(con!=null) System.out.println("Connection Successful!");

}catch(Exception e){

e.printStackTrace();

System.out.println("Error Trace in getConnection() : " + e.getMessage());

}

return con;

}

private String getConnectionUrl(){

return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";

}

private void closeConnection(){

try{

if(con!=null)

con.close();

con=null;

}catch(Exception e){

e.printStackTrace();

}

}

/*

显示驱动器属性,数据库详细信息

*/

public void displayDbProperties(){

java.sql.DatabaseMetaData dm = null;

java.sql.ResultSet rs = null;

try{

con= this.getConnection();

if(con!=null){

dm = con.getMetaData();

System.out.println("驱动器信息:");

System.out.println("\t驱动器名字: "+ dm.getDriverName());

System.out.println("\t驱动器版本: "+ dm.getDriverVersion ());

System.out.println("\n数据库信息:");

System.out.println("\t数据库名字: "+ dm.getDatabaseProductName());

System.out.println("\t数据库版本: "+ dm.getDatabaseProductVersion());

System.out.println("显示可用的数据库目录:");

rs = dm.getCatalogs();

while(rs.next()){

System.out.println("\tcatalog: "+ rs.getString(1));

}

//rs = dm.getTables("ckgl",null,"ckgl","TABLE").getCatalogs();

while(rs.next()){

System.out.println("\tcatalog: "+ rs.getString(1));

}

rs.close();

rs = null;

closeConnection();

}else System.out.println("Error: No active Connection");

}catch(Exception e){

e.printStackTrace();

}

dm=null;

}

public static void main(String[] args) {

SQLServerJDBCTest sQLServerJDBCTest = new SQLServerJDBCTest();

sQLServerJDBCTest.displayDbProperties();

}

}

如果此代码运行成功,其输出结果应类似于以下内容:

IWAV0055I Java Bean testJDBC.SQLServerJDBCTest started with the main method

Connection Successful!

驱动器信息:

驱动器名字: SQLServer

驱动器版本: 2.2.0040

数据库信息:

数据库名字: Microsoft SQL Server

数据库版本: Microsoft SQL Server2000 - 8.00.2039 (Intel X86)

May3 2005 23:18:38

Copyright (c) 1988-2003 Microsoft Corporation

Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

显示可用的数据库目录:

catalog: ckgl

catalog: coal

catalog: master

catalog: msdb

catalog: Northwind

catalog: pubs

catalog: student

catalog: tempdb

有关排除连接故障的基本信息

下面是尝试连接到SQL服务器时常见的错误信息:

java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Login failed for user 'user'.Reason:Not associated with a trusted SQL Server connection.

如果将SQL Server 2000的验证模式设置为“Windows验证模式”,则会出现此错误信息。Microsoft SQL Server 2000 JDBC驱动程序不支持使用Windows NT验证进行连接。您必须将SQL Server的验证模式设置为“混合模式”,该模式既允许Windows验证,也允许SQL Server验证。

java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC]This version of the JDBC driver only supports Microsoft SQL Server 2000. You can either upgrade to SQL Server 2000 or possibly locate another version of the driver.

当您尝试连接到SQL Server 2000以前的SQL Server版本时,则会出现此错误信息。Microsoft SQL Server 2000 JDBC驱动程序仅支持与SQL Server 2000进行连接。

n用于Oracle的测试连接的代码示例

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.SQLException;

package testJDBC;

import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.SQLException;

public class OracleJDBCTest {

public static void main(String[] args) throws SQLException, ClassNotFoundException{

// A.注册Oracle JDBC驱动程序。下面两种方法都可以

//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

Class.forName("oracle.jdbc.driver.OracleDriver");

// B.创新新数据库连接

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oract", "hr", "hr");

// C.取得连接数据(元数据)

DatabaseMetaData md = conn.getMetaData();

System.out.println("数据库版本:");

System.out.println("------------------------------------------------");

System.out.println(md.getDatabaseProductVersion());

System.out.println();

System.out.println("驱动程序名称与版本:");

System.out.println("------------------------------------------------");

System.out.print(md.getDriverName() + " " + md.getDriverVersion());

// D.关闭数据库连接

conn.close();

}

}

不要忘记添加前面下载的4个Oracle JDBC库文件。

如果此代码运行成功,其输出结果应类似于以下内容:

数据库版本:

------------------------------------------------

IWAV0055I Java Bean testJDBC.OracleJDBCTest started with the main method

数据库版本:

------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production

With the Partitioning, OLAP and Data Mining options

驱动程序名称与版本:

------------------------------------------------

Oracle JDBC driver 10.1.0.5.0

注意:有时连接错误是由防火墙造成的,所以在用JDBC进行数据库开发时要闭防火墙,包括winXP自带的防火墙。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值