· 安装和使用JDBC
JDBC 的类都被归到 java.sql包中,在安装 Java JDK 1.1 或更高版本时会自动安装。然而,如果您想使用 JDBC-ODBC 桥,还必须安装两个另外的程序包。首先,如果您使用 Windows95 ,则必须将您的 ODBC 驱动程序升级为 32 位驱动程序,您可从 Microsoft 的网站下载。这个驱动程序在 Microsoft 的网站上很难找到;请搜索 DataAcc.exe 并进行下载和安装。
JDBC-ODBC驱动程序 可从Sun的Java网站( http://java.sun.com )轻松地找到并下载。在您扩充并安装了这个驱动程序后,必须执行下列步骤:
- 将 \jdbc-odbc\classes; 路径添加到您的PATH环境变量中。
- 将 \jdbc-odbc\classes; 路径添加到您的CLASSPATH环境变量中。
- 在Windows 95环境下,将它们放入autoexec.bat文件中,重新引导,以使所有设置生效。
- 在Windows NT环境下,将它们添加到“控制面板”中“系统”对象的“环境”选项卡中,退出并重新登录,以使其生效。
· JDBC驱动程序的类型
Java 程序连接数据库的方法实际上有四种:- JDBC-ODBC桥和ODBC驱动程序--在这种方式下,这是一个本地解决方案,因为ODBC驱动程序和桥代码必须出现在用户的每台机器中。从根本上说这是一个临时解决方案。
- 本机代码和Java驱动程序--它用另一个本地解决方案(该平台上的Java可调用的本机代码)取代 ODBC 和 JDBC-ODBC 桥。
- JDBC网络的纯Java驱动程序--由Java驱动程序翻译的JDBC形成传送给服务器的独立协议。然后,服务器可连接任何数量的数据库。这种方法使您可能从客户机Applet中调用服务器,并将结果返回到您的Applet。在这种情况下,中间件软件提供商可提供服务器。
- 本机协议Java驱动程序-- Java驱动程序直接转换为该数据库的协议并进行调用。这种方法也可以通过网络使用,而且可以在Web浏览器的Applet中显示结果。在这种情况下,每个数据库厂商将提供驱动程序。
如果您希望编写代码来处理 PC 客户机数据库,如 dBase 、 Foxbase 或 Access ,则您可能会使用第一种方法,并且拥有用户机器上的所有代码。更大的客户机 - 服务器数据库产品(如 IBM 的 DB2 )已提供了第 3 级别的驱动程序。
· 两层模型和三层模型
当数据库和查询它的应用程序在同一台机器上,而且没有服务器代码的干预时,我们将生成的程序称为 两层模型 。一层是应用程序,而另一层是数据库。在 JDBC-ODBC 桥系统中通常是这种情况。当一个应用程序或applet调用服务器,服务器再去调用数据库时,我们称其为 三层模型 。当您调用称为“服务器”的程序时通常是这种情况。
· 编写JDBC代码访问数据库
现在,我们将开始看一下如何编写 Java 程序来访问数据库。我们要使用的数据库是一个称为 groceries.mdb 的 Microsoft Access 数据库。此数据库中的数据由三个本地杂货店中一些常见商品的价格组成。食品表如下所示:
FoodKey | FoodName |
1 | Apples |
2 | Oranges |
3 | Hamburger |
4 | Butter |
5 | Milk |
6 | Cola |
7 | Greenbeans |
杂货店表如下所示:
StoreKey | StoreName |
1 | Stop andShop |
2 | VillageMarket |
3 | Waldbaum's |
杂货店定价表仅由这三个表格中的键值和价格组成:
FSKey | StoreKey | FoodKey | Price |
1 | 1 | 1 | $0.27 |
2 | 2 | 1 | $0.29 |
3 | 3 | 1 | $0.33 |
4 | 1 | 2 | $0.36 |
5 | 2 | 2 | $0.29 |
6 | 3 | 2 | $0.47 |
7 | 1 | 3 | $1.98 |
8 | 2 | 3 | $2.45 |
9 | 3 | 3 | $2.29 |
10 | 1 | 4 | $2.39 |
11 | 2 | 4 | $2.99 |
12 | 3 | 4 | $3.29 |
13 | 1 | 5 | $1.98 |
14 | 2 | 5 | $1.79 |
15 | 3 | 5 | $1.89 |
16 | 1 | 6 | $2.65 |
17 | 2 | 6 | $3.79 |
18 | 3 | 6 | $2.99 |
19 | 1 | 7 | $2.29 |
20 | 2 | 7 | $2.19 |
21 | 3 | 7 | $1.99 |
· 用ODBC注册您的数据库
在 Windows 95 或 NT 环境下访问 ODBC 数据库之前,必须使用控制面板中的 ODBC 驱动程序对它进行注册。在 Windows 95 环境下,就是 “ 控制面板 ” 程序中的 ODBC 图标。在 Windows NT 环境下,您会在 “ 开始 ” 菜单中找到此程序。(如果找不到,您需要安装上述的 ODBC 驱动程序,即 WX1350.exe )。
双击ODBC图标,然后单击“添加”,如图1所示。然后选择数据库驱动程序(此处使用MicrosoftAccess),然后单击“确定”。在“数据源名”和“描述”中分别键入数据源名称(Groceries)和数据库说明(Groceryprices)(这两项都不需要和文件名相关),然后单击“选取”,找到数据库,并选择该数据库。找到该数据库后,屏幕将如图2所示。单击“确定”,然后单击“关闭”来关闭面板。
图1:ODBC控制面板设置屏幕。
图2:在ODBC控制面板中选择数据库和说明。
· 连接数据库
所有与数据库有关的对象和方法都在 java.sql 包中,因此在使用 JDBC 的程序中必须加入 "import java.sql.* " 。 JDBC 要连接 ODBC 数据库,您必须首先加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); |
该语句加载驱动程序,并创建该类的一个实例。然后,要连接一个特定的数据库,您必须创建 Connect 类的一个实例,并使用 URL 语法连接数据库。
String url = "jdbc:odbc:Grocery prices"; Connection con = DriverManager.getConnection(url); |
请注意,您使用的数据库名是您在 ODBC 设置面板中输入的 “ 数据源 ” 名称。
URL语法可能因数据库类型的不同而变化极大。
jdbc: subprotocol : subname |
第一组字符代表连接 协议 ,并且始终是 jdbc 。还可能有一个 子协议 ,在此处,子协议被指定为 odbc 。它规定了一类数据库的连通性机制。如果您要连接其它机器上的数据库服务器,可能也要指定该机器和一个子目录:
jdbc:bark//doggie/elliott |
最后,您可能要指定用户名和口令,作为连接字符串的一部分:
jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof |
(未完待续)
文章来源于领测软件测试网 https://www.ltesting.net/