《2022年2022年连接到数据库 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年连接到数据库 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、下载第5章连接到数据库D atabase组件处理到 S QL服务器的 J DBC连接,涉及到服务器数据的所有数据库应用程序都需要该组件。J D BC是J avaSoft数据库应用程序的程序员接口(D atabaseApplication Programmer Interface ) ,即由 J avaSoft开发的访问远程数据源的组件与类库。组件被收集在 j ava.sql包中,并代表一个通用的、低级的S QL数据库存取框架。JDBC API 定义代表数据库连接、S QL语句、结果集合、数据库元数据等等的J ava类。它允许 J ava程序员发布 S QL语句并处理结果。J DBC是J ava
2、中数据库存取的主要A PI。JDBC API 由能够支持与不同的数据库连接的多个驱动程序的驱动程序管理器实现。 J DBC驱动程序可以完全在J ava中编写,这样它们可以作为一个a pplet的一部分被下载,或它们也可以使用内置方法来实现数据库存取库文件的桥接。若需要J DBC的更多信息,访问 JavaSoft JDBC 数据库访问 A PI网页,在 h ttp:/ /www. Builder使用 JDBC API 访问存储在数据库中的信息。许多J builder的数据访问组件和类使用 JDBC API 。因此,这些类必须正确安装,以便使用J Builder数据库连接组件(参见 3 .1节“安
3、装 J Builder、J DBC与J DBC-ODBC桥”)。另外你需要一个适当的J DBC驱动程序把数据库应用程序连结到一台远程服务器。驱动程序可以归结成两大类:使用桥接到现存的数据库访问库的内置方法实现的驱动程序,或基于纯J ava的驱动程序。非纯 J ava的驱动程序必须在客户机上(本地 )系统上运行。纯 J ava的驱动程序可以从服务器或从本地装入。使用完全用J ava编写的驱动程序的优点是它可以作为一个a pplet的一部分被下载,并且是跨平台的。可以与J builder一起发布的一些驱动程序选项是:? DataStoreDriver DataStoreDriver 是D ataS
4、tore的J DBC驱动程序。该驱动程序支持本地与远程访问。两种类型的访问都需要一个用户名(任何字符串 ,不需要设置 )以及一个空口令。? InterClient 作为I nterBase的一个纯 J ava的 J DBC驱动程序, I nterClient可以在因特网和企业 I ntranet的独立平台上工作,也可实现客户机/服务器的开发。纯J ava驱动程序相对于内置驱动程序的优点是可以部署基于I nterClient的a pplet,而不需要手动地在每个客户机系统上装载指定平台的J DBC驱动程序 (网络服务器自动下载I nterClient类与 a pplet)。因此,没有必要管理本地
5、的内置数据库库文件,这简化了客户应用程序的管理和维护。作为Java applet的一部分, I nterClient可以动态地更新,这进一步减少了应用程序部署和维护的费用。参见3 . 4节“使用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - I nterClient”或 5 .2节“教程:使用纯 Java 的J DBC驱动程序与数据库连接” ,可获得更多的信息。你可以把 J Builder应用程序连接到远程的或本地的S QL数据
6、库,或连接到用其他的B orland应用程序,如 C+ Builder 、D elphi、I ntraBuilder、P aradox,或 Visual dBASE ,创建的数据库。要这样做,查看应用程序连接到的底层数据库,并判断此数据库是本地还是远程的 ( SQL)数据库。若要连接到一个远程的S QL数据库,你需要下列驱动程序之一:? 一个用于服务器的纯J ava的J DBC驱动程序,如 I nterClient。J Builder的一些版本包括 J DBC驱动程序。查看 B orland网页( http:/ /www. Builder各版本的 J DBC驱动程序,或与服务器软件公司的技术支
7、持部门联系,可获取 J DBC驱动程序。 5 .2节“教程:使用纯J ava的 J DBC驱动程序与数据库连接”描述了怎样使用I nterClient作为纯 J ava的 J DBC驱动程序连接到数据库。? 一个基于 O DBC的服务器驱动程序,该程序与J DBC-ODBC桥软件一起使用。在5 .1节“教程:使用J DBC-ODBC桥与数据库连接”描述了怎样使用J DBC-ODBC桥以及 I nterBase与数据库连接。注意ODBC驱动程序是不可移植的 DLL 。这对于本地开发是足够的,但是对于applets 或其他的纯 Java解决方案却不行。当连接到本地的非S QL数据库,如 P ara
8、dox或Visual dBASE 的两个选项是:? 使用数据迁移向导把数据移到I nterBase或另外一个所支持的数据库。要得到使用数据迁移向导的信息,参见1 7.4节“在数据库之间移动数据”。? 与J DBC-ODBC桥软件一起使用一个O DBC驱动程序,该 O DBC驱动程序要适合于访问的表格类型和级别。如果连接到 J DBC数据库时遇到任何问题,参见3 .5节“教程中 J DBC数据库连接的故障诊断”。5.1 教程: 使用JDBC-ODBC 桥与数据库连接该教程认为你已熟悉J Builder设计工具。若需要这些工具的更多信息,参见本书“J Builder的可视化设计工具”主题一节中的用
9、JBu ilder构建应用程序部分。本教程概括了:? 如何把数据库组件加到应用程序中。? 设置数据库连接属性。? 在应用程序中使用数据库组件。关于用一个纯 J ava的 J DBC驱动程序与数据库连接的信息,参见5 .2节“教程:使用纯 J ava的 J DBC驱动程序连接到数据库” 。2 2第一部分开发数据库应用程序下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 注意当不再需要某个D atabase连接时,应该在应用程序中
10、明确地调用D atabase.closeConnection()方法。这保证了当 J DBC连接不需要时不再保持连接,而且允许使 JDBC连接实例被做为垃圾回收。5.1.1 把数据库组件加到应用程序中D atabase组件是 J DBC指定的组件,它管理J DBC的连接。若要使用 Q ueryDataset或P rocedureDataSet组件存取数据,必须把这些组件的d atabase属性设置为一个已实例化的D atabase组件。多重的数据集合可以,而且经常也是这样的分享同一个数据库。要把数据库组件加到应用程序中:1) 使用 Project and Application Wi zard
11、s(工程与应用程序向导)创建一个新的工程和应用程序文件。(可以选择按照此教程把数据连接加到一个现存的工程和应用程序中 )。要创建一个新的工程和应用程序文件:A. 从J Builder菜单中选择 F ile|Close关闭目前的应用程序文件。如果在做下一步之前,没有做此步的话,新的应用程序文件将被加到目前的工程中。B . 选择 F ile|New,并双击应用程序图标。接受所有的缺省值。2) 通过加亮导航窗格中的F ramel.java文件打开用户界面设计器(UI Designer ) ,然后在 A ppBrowser(应用软件浏览器 )的底部选择 D esign选项卡。3) 从组件选项板 (Co
12、mponent Palette) 中选择Data Express 选项卡,点击 D atabase组件。4) 点击组件树窗口中的任何地方,把D atabase组件加到应用程序中。该步骤把下列的代码行加到框架( Frame)类中:Database databasel= new Database();D atabase组件出现在组件树中,如图5 -1所示。5.1.2 设置数据库连接属性Database connection属性指定 J DBC连接的U RL 、用户名、口令、以及可选的J DBC驱动程序。 J DB C连接的 U RL 是指定 J DB C数据供应者(即, SQL服务器 )位置的 J
13、 DBC方法。它实际上可以包含进行一个成功的连接需要的所有信息,包括用户名和口令。到服务器的连接必须建立来成功地设置这些属性。可以通过编程访问C onnectionDescriptor对象,或者可以通过用户界面来设置连接属性。如果通过编程访问C onnectionDescriptor,则应遵循下列方针:第5章连接到数据库2 3下载图5-1 组件树名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - ? 如果将 p romptPassw
14、ord设置为 t rue;还应该为数据库调用o penConnection()。? 当调用 o penConnection()时决定了什么时候显示口令对话框,什么时候进行数据库连接。? 应用程序一打开,就得到用户名和口令的信息。为了这样做,要在主框架的i bInit()方法的最后调用 o penConnection()。? 如果不明确打开连接,则当控件或数据集第一次需要数据时,它将试图打开连接,但是应用程序可能在这里发生中止。下列步骤描述怎么通过用户接口设置连接属性,并提供由此产生的代码。1) 确保服务器已启动,例如,从I nterBase程序组选择InterBase Server来启动I n
15、terBase服务器。2) 在组件树里选择D atabase对象。在检视器窗口中双击c onnecti on属性,打开c onnection属性编辑器。3) 设置下列属性:属性取 值 说 明Connection URL数据库的统一资源定位器( URL),例如, j dbc:o dbc:DataSet Tu torial。选择 Choose URL 按钮从以前选择的U RL列表中或可用的数据源中选择一个U RLU semame授权访问服务器数据库的用户名,例如,S YSDBAP assword授权用户的口令,例如,m asterkeyPrompt user for password是否每次提示用
16、户输入口令Driver Class( 驱动程序类 )对应于 U RL的J DBC驱动程序的类名 ; 例如,s un.jdbc.odbc.JdbccdbcDriver4) 点击Test Connection( 测试连接 )按钮,检查连接属性是否已经正确设置。连接结果直接显示在Test Connection( 测试连接)按钮的下方。当成功时,对话框看起来像图5-2所示。图5-2 connection对话框2 4第一部分开发数据库应用程序下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
17、4 页,共 8 页 - - - - - - - - - 5) 点击 O K退出对话框,当连接成功时,把连接属性写到源代码中。如果遵循了上面的例子,源代码看起来像这样:技巧一旦数据库 URL连接成功,就可以使用 JDBC Explorer浏览基于 JDBC的元数据库信息和数据库方案对象,执行S QL语句,浏览并编辑现存表中的数据。关于使用 JDBC Explorer的更多信息,参见 1 7.1节“使用 JDBC Explorer 搜索数据库表和元数据”。5.1.3 在应用程序中使用数据库组件既然应用程序包括 D atabase组件,就将要使用一个需要它的组件。J Builder使用查询和存储过程
18、返回一组数据。为此目的实现的组件是Q ueryDataSet和P rocedureDataSet。这些组件与 D atabase组件一起访问 S QL服务器数据库。怎样使用这些组件的教程,参见:? 6.2节“查询数据库”? 6.3节“使用参数化( p arameterized)查询获取数据库数据”? 6.4节“使用存储过程获取数据”如果使用一个复杂的数据模型或需要改变应用程序中的数据组件,则考虑把D atabase与其他的 D ataExpress组件封装于D ataModule中,而不是直接把他们加到应用程序的框架中。关于使用D ataExpress软件包的 D ataModule的更多信息
19、,参见第1 0章“使用数据模块简化数据访问”。5.2 教程: 使用纯 JavaJDBC 驱动程序与数据库连接在与一个 S QL数据库连接前,必须安装一个适当的驱动程序。对于这个例子,我们假设安装了 I nterClient,一个与 J Builder一起配售的纯 J ava的 J DBC驱动程序。如果它没有安装,则参见 3 . 4节“使用 I n t e r C l i e n t” 。此教程的第一部分讨论了如何设置I nterClient,以用于 J Builder。第二部分讨论了使用I nterClient从J Builder连接到 S QL数据库。JDBC Explorer 通常使用连接
20、 U RL和驱动程序名。选择To ols|JDBCExplorer,并访问它的联机帮助以获得更多的信息。5.2.1 为数据库教程设置 InterClient若要设置用于 JBuilder 的I nterClient,1) 从I nterBase程序组选择 InterBase Server,使之运行。第5章连接到数据库2 5下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 2) 从InterBase InterClient程序组
21、选择 I nterServer,使之运行。当 I nterServer正在运行时,它的图标将显示在任务栏中。3) 启动 J Builder,关闭所有工程。4) 把 I n t e r C l i e n t加到可用的J a v a 库列表中。要这样做,选择P r o j e c t | D e f a u l tP roperties,并设置下列选项:A. 点击 J ava库旁边的 A dd按钮。B. 在Select A Java Library To Add (选择一个新的 J ava库来添加 )对话框中,点击N ew。C. 在Select A Java Library To Add (选择
22、一个新的 J ava库来添加 )对话框中,设置下列属性:? 名字: I nterClient? 类路径:用 B rowse按钮查找文件 I nterClient.jar,缺省情况下,这个文件在C:Program Files InterBase Corp InterClient InterClient.jar中。D. 点击 O K。E. 点击O K。5) 如果在 J Builder第一次运行前,安装了I nterClient,则编辑 J Builder. INI文件,并把到 I nterClient.jar的路径加到 J avaV M_propertyies部分的 D java.class.pa
23、th行,要遵循现存的句法。现在 J Builder和I nterClient被设置为一起工作了。如果将来用J DBC驱动程序开发与运行应用程序时,只需要启动I nterServer去访问 J DBC驱动程序。下一部分描述如何把一个D atabase组件加到应用程序中,以及怎样使用J DBC驱动程序设置它的 c onnection属性。5.2.2 在JBuilder 中使用InterClient 纯Java JDBC 驱动程序本部分讨论如何添加D atabase组件,它是 J DBC指定的管理 J DBC连接的组件,以及怎样设置这个组件的属性,使得能够访问本地或远程数据库。一旦建立了数据库连接,
24、就可以使用 Q ueryDataset或P rocedureDataSet组件对一个或多个数据库表运行查询或存储过程,而且可以使用视觉控件,例如G ridControl,来显示结果。若要把 D atabase组件加到应用程序中,并与数据库联接,可按以下步骤进行操作。1) 从I nterClient程序组或从开始菜单选择I nterServer,使之运行。当运行时,它的图标将显示在任务栏中。2) 选择 F ile|Close,或跳过这一步,把数据连接加到现存的工程和应用程序中。3) 通过选择 F ile|New,并双击应用程序图标,创建一个新工程和应用程序文件。选择所有的缺省值。4) 通过在导航
25、窗格中高亮F ramel.java文件,打开 U I设计器,然后在 A ppBrowser(应2 6第一部分开发数据库应用程序下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 用软件浏览器 )的底部选择 D esign选项卡。在这个应用程序中,用户接口元素将加入框架文件中。5) 从组件选项板选择Data Express选项卡。点击 D atabase组件,并点击组件树窗口中任何地方,把 D atabase组件加到应用程序中。6
26、) 设置 Database connection属性来指定 J DBC连接U RL、用户名、口令、以及J DBC驱动程序。J DBC连接 U RL是为指定 J DBC数据供应者 (即, SQL服务器 )的位置的 J DBC方法。它实际上可以包含为进行成功的连接所需要的所有信息,包括用户名和口令。若要设置 c onnection属性,可如下进行操作:1) 在组件树中选择D atabase对象。在检视器窗口中双击c onnection属性,打开c onnection属性编辑器。在这个例子,数据位于本地的I nterBase服务器上。如果数据位于远程服务器,就要输入服务器的I P地址,而不是在这里输
27、入的l ocalhost。2) 设置下列属性:属. 性数值Connection URLj dbc:interbase:/localhost/c:/program files / interbasecorp / interbase / examples / database / employee.gdb在这个例子,当他们安装到计算机上时,输入I nterBase安装和例子文件的路径。所列出的路径对于大多数缺省安装是适合的。将来,可以单击Choose URL 按钮,从以前选择的 U RL列表中或可用的数据源中选择一个U RLU semameS YSDBAP asswordM asterkeyDri
28、ver ClassI nterbase.interclient.Driver3) 单击 Test Connection( 测试连接 )按钮,检查连接属性是否已正确设置。连接结果直接显示在 Test Connection(测试连接 )按钮下面。4) 单击 O K退出对话框,当连接成功时,把连接属性写到源代码中。技巧一旦数据库 URL连接成功,就可以使用 JDBC Explorer浏览基于 JDBC的元数据库信息和数据库方案对象,而且执行S QL语句,浏览并编辑现存表中的数据。若需要使用 JDBC Explorer 的更多信息,参见 1 7.1节“使用 JDBC Explorer 搜索数据库表和元
29、数据”。构建数据库应用程序的下一步将是使用查询或存储过程返回一组数据。实现此目的的组件是 Q ueryDataSet和P rocedureDataSet。这些组件与 D atabase组件一起访问 S QL服务器数据库。若需要怎样使用这些组件的教程,参见:? 6.2节“查询数据库”第5章连接到数据库2 7下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - ? 6.3节“使用参数化查询获取数据库数据”? 6.4节“使用存储过程获取数据”如果使用一个复杂的数据模型或需要改变应用程序中的数据组件,则考虑把D atabase与其他的 D ataExpress组件封装于D ataModule中,而不是直接把他们加到应用程序的框架中。若需要使用D ataExpress软件包的 D ataModule的更多信息,参见第1 0章“使用数据模块简化数据访问”。2 8第一部分开发数据库应用程序下载名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -