裝與設置用于數據庫應用程序的JBuilder
發表于:2007-07-14來源:作者:點擊數:
標簽:
裝與設置用于 數據庫 應用程序的JBuilder 如果要單步調試并運行本書中包括的許多數據庫教程,你需要安裝如下軟件組件: · JBuilder、JDBC與JDBC-ODBC橋 · JBuilder范例文件 · LocalInterBaseServer 如果你有JBuilder的企業版本,還可以安裝: · InterClie
裝與設置用于
數據庫應用程序的JBuilder
如果要單步調試并運行本書中包括的許多數據庫教程,你需要安裝如下軟件組件:
· JBuilder、JDBC與JDBC-ODBC橋
· JBuilder范例文件
· LocalInterBaseServer
如果你有JBuilder的企業版本,還可以安裝:
· InterClient。InterClient是用于InterBase的一個純
JavaJDBC驅動程序。它可用于Solaris、HP-UX、
WindowsNT以及Windows95。關于更多的信息,參見3.4節“使用InterClient”。
3.1安裝JBuiIder、JDBC與JDBC-ODBC橋
當安裝JBuilder時,選擇Typical選項。如果是選擇Custom選項,你應該選擇下列選項:
· 程序文件?本選項包括安裝JBuiIder、JDBC、JDBC-ODBC橋,以及JBuilder范例文件。
· 范例文件?本選項安裝數據集教程與國際化演示應用程序。
· 參考應用程序?本選項安裝基本的Cliffhanger應用程序。要運行這個應用程序,需要JDBC-ODBC橋和LocalInterBaseServer。
JavaSoft與數據庫和數據庫工具供應商合作創建了獨立于DBMS的API。像ODBC一樣(大致與微軟的JDBC產品等價),JDBC是基于X/Open
SQL調用級接口(CallLevelInterface,CLI)。JDBC和ODBC之間的一些差別是:
· JDBC是真正跨平臺的純Java的API。ODBC是必須本地執行的一個C語言接口,且大多數執行代碼僅僅在微軟平臺上運行。
· 大多數ODBC驅動程序要求在客戶機工作站上安裝一套復雜的代碼模塊和注冊設置。而JDBC是可以直接從一個本地或集中的遠程
服務器執行的純Java代碼。JDBC的維護和分發比ODBC更簡單。根據Javasoft的網站信息,JDBC被
Oracle、Sybase、Informix、InterBase,DB2等主流數據庫、連接與工具供應商所認可。包括
Borland在內的若干供應商都有JDBC驅動程序?,F存的ODBC驅動程序可以通過JavaSoft提供的JDBC-ODBC橋而使用。使用JDBC-ODBC橋不是一個理想的
解決方案,因為它要求安裝ODBC驅動程序和注冊項。ODBC驅動程序也可本地執行,但這損害了跨平臺的支持和applet小程序的
安全。
3.1.1安裝JDBC和JDBC-ODBC橋
JBuilderDataExpress組件使用JavaSoft數據庫連接(JDBC)應用程序
程序員接口(ApplicationProgrammerInterface,API)來執行。為了創建一個Java數據應用程序,在可以開始創建數據應用程序以前,JavaSoft的JDBC
sql包必須可以使用。如果你與你的數據庫服務器的連接是通過一個ODBC驅動程序進行的,那么你還需要JavaSoft的JDBC-ODBC橋軟件。安裝過程負責把這些東西放到正確的地方。安裝程序的JDBC部分從\java\lib\目錄中的classes.zip文件中的java.sql包來安裝類。
安裝程序的JDBC-ODBC橋部分在同一classes.zip文件中安裝JDBC-ODBC橋類。JdbcoOdbc.dll文件安裝到\java\bin目錄中。若要獲取關于JDBC或JDBC-ODBC橋的更多信息,請訪問JDBCDatabaseA
clearcase/" target="_blank" >ccess(數據庫存取)API的網頁,網址為http://www.javasoft.com/jdbc/。
3.1.2連接到數據庫
你可以把JBuilder應用程序連接到遠程或本地的SQL數據庫,或其他的Borland應用程序,如C++Builder,Delphi,IntraBuilder,Paradox,或VisualdBASE創建的數據庫。如果要這樣做,則查看你的應用程序連接到的基礎數據庫,并判斷此數據庫是本地的還是遠程的(SQL)數據庫。為了連接到一個遠程的SQL數據庫,你需要下列驅動程序之一:
· 像InterClient一樣的,一個可用于服務器上的純Java的JDBC驅動程序。JBuilder的一些版本包含JDBC驅動程序。查看Borland網頁(http://www.
borland.com/jbuilder/),可獲取在JBuilder各版本中可使用的JDBC驅動程序,或與你的服務器軟件公司的技術支持部門聯系,可獲取可用的JDBC驅動程序。
· 一個有JDBC-ODBC橋軟件的用于服務器上的基于ODBC的驅動程序。注意ODBC驅動程序是不可移植的DLL(動態連接庫)。對于本地
開發它是足夠的,但是對于applet或其他的純Java解決方案卻不行。連接到本地非SQL數據庫如Paradox或VisualdBASE的兩個選項是:
· 使用DataMigrationWizard(數據遷移向導)把數據移動到InterBase或另外一個所支持的數據庫。若需要使用DataMigrationWizard的信息,參見17.4節“在數據庫之間移動數據”。
· 連同JDBC-ODBC橋軟件一起,使用一個適合于正存取的表類型和級別的ODBC驅動程序。如果連接到JDBC數據庫時遇到任何問題,參見3.5節“教程中JDBC數據庫連接的故障診斷”。
3.2安裝JBuilder范例文件
JBuilder范例目錄包含本書中提供的各種各樣的教程和實例。JBuilder的典型安裝選項把范例文件缺省安裝到samples\com\borland\samples\dx目錄中。你也可以在Custom安裝中選擇范例文件選項來安裝范例文件。數據庫范例應用程序使用LocalInterBaseServer提供的范例數據。
3.3安裝LocalInterBase服務器
安裝JBuilder后,安裝LocalInterBase。安裝LocalInterBase在你的本地機器上既安裝InterBase客戶機也安裝InterBase服務器。下列步驟提供了數據庫教程中所有教程所要求的配置信息。
1)從JBuilderCD上運行install.exe,并選擇LocalInterBase。記下證書ID以及證書密鑰號碼。你以后將需要他們。
2)單擊Next從InterBase服務器安裝(InterbaseServerSetup)對話框移開,建議你在運行安裝前退出所有的Windows程序。
3)閱讀安裝信息,并單擊Next繼續。
4)閱讀許可協議,并單擊Yes按鈕。
5)輸入你的SoftwareActivationCertificate(軟件激活證書)ID和證書密鑰。單擊Next繼續。
6)把InterBase安裝到安裝程序指定的缺省目錄,正如在LocalInterBaseinstall.txt中推薦的那樣。單擊install安裝所有的組件。
7)關于停止InterBase服務器的信息,參見3.3.2節“停止InterBase服務器”。為了完成數據庫教程,InterBase必須運行服務器。
8)重啟計算機。InterBase服務器在啟動時運行。
當安裝完成時,必須創建一個ODBC數據源來使用數據庫教程。為了創建ODBC數據源(使用WindowsNT):
1)從控制面板,選擇ODBC。
2)從ODBC數據源管理器對話框,選擇SystemDSN頁。
3)單擊Add按鈕添加一個數據源。
4)從驅動程序列表中選擇INTERSOLVInterBaseODBCDriver(*.gdb)。按Finish按鈕。
5)在ODBCInterBaseDriverSetup(驅動程序安裝)對話框中,輸入“DataSetTutorial”作為數據源名。單擊OK關閉安裝對話框。
6)單擊Configure(配置)按鈕。
7)在InterBaseODB
CConfiguration(配置)對話框中輸入下列數值來使用數據庫
8第一部分開發數據庫應用程序
下載 教程:
對于此選項做的選擇
DataSourceNameDataSetTutorialDescription可選。此項可以空白NetworkProtocol<local>
Database從你的InterBase目錄,輸入到employee數據庫employee.gdb的路徑;這個文件的缺省位置是c:\ProgramFiles\InterBasecorp\InterBase\Examples\database\employee.gdbUsernameSYSDBAPasswordmasterkey
8)單擊TestConnection(
測試連接)確保參數正確。InterBase服務器必須運行,以使連接成功。你可以從程序組啟動InterBase服務器。
9)單擊OK關閉配置對話框。
10)單擊OK關閉管理器。
3.3.1啟動InterBase服務器
缺省情況下,InterBase服務器和InterBase監護器將在Windows啟動時運行。若要改變為手動啟動,則從InterBase程序組選擇InterBase配置工具(InterBaseConfigurationTool),改變StartupMode啟動模式)為(ManualStartup手動啟動)。
3.3.2停止InterBase服務器
不管InterBase是在Windows啟動時自動運行,還是從程序組手動啟動它,它都將作為后臺服務運行。若要停止InterBase服務器運行,1)從控制面板選擇Services(服務)。2)從Services列表中選擇InterBase服務器。3)單擊Stop(停止)按鈕。
3.3.3使用InterBase的技巧
· InterBase的范例數據庫被安裝程序安裝。你也許想要復制employee.gdb范例數據庫,以便能在試驗數據庫編程以后能很容易地恢復文件到原始狀態。
· 這些范例數據庫在數據值上加上了許多約束,這在實際應用程序中是正常的。
· 在本書中EMPLOYEE表被廣泛地用于范例中。對EMPLOYEE表的約束包括:
· 除PHONE_EXT外,需要所有的字段(必須輸入數據)。
· 能生成EMP_NO,這樣建立新記錄時就不需要輸入它。它同時也是主關鍵字,因此請不要改變它。
· 引用的完整性。
· 在Department表中必須存在DEPT_NO。
· 在JOB表中必須存在JOB_CODE,JOB_GRADE,JOB_COUNTRY。
· SALARY必須大于或等于job表中的min_salary域,以匹配job表中的job_code,job_grade與job_country。
· FULL_NAME由查詢生成,因此沒有必要對它做任何輸入。通常,修改現存記錄中的LAST_NAME,FIRST_NAME,PHONE_EXT域是最安全的。在數據庫教程中也使用CUSTOMER表。它的約束包括:
· CUST_NO是生成的,因此不需要在建立新記錄時對它做輸入。
當你在例子中往employee表中添加,插入或更新數據并試圖把所做的修改保存到服務器表中時這些約束影響所有的例子,如7.1節“保存來自QueryDataSet的修改”所
示。
· 一個永遠適合于新InterBase數據庫的用戶名和口令是“SYSDBA”(沒有引號)作為用戶名,“masterkey”作為口令。此兩數據也在本書的教程中得到使用。注意InterBase口令是區分大小寫的。
· 在安裝程序完成后的任何時間,都可以通過從控制面板中點擊ODBC圖標來創建額外的ODBC數據源。若要查看InterBase表的元數據:
1)確保通過運行InterBase服務器已經連接到一個數據庫。
2)從InterBase程序組運行InterBaseWindowsISQL。
3)從InterBaseInteractiveSQL菜單中選擇File|ConnecttoDatabase(連接到數據庫)。
4)在InterBaseexamples\database目錄中瀏覽employee.gdb數據庫,找到數據庫連接對話框(DatabaseConnect)的數據庫信息(DatabaseInfo)部分的數據庫字段。
5)輸入用戶名和口令。點擊OK進行連接。
6)選擇Metadata|Show來研究在InterBase范例數據庫中的employee(雇員)和其他表上的約束。
還可以使用JDBCExplorer查看數據和元數據,在JBuilder中可以通過選擇Tools|JDBCExplorer來得到。
3.4使用InterClient
作為InterBase的一個純JavaAPI,InterClient使得因特網和公司內部網開發獨立于平臺的客戶機/服務器成為可能。一個純Java驅動程序相對于一個本機代碼驅動程序的優點是你可以部署基于InterClient的applet,而不需要手工地在每個客戶機系統上裝載10第一部分開發數據庫應用程序下載特定平臺的JDBC驅動程序(Web服務器自動地下載InterClient類與applet)。因此,沒有必要管理本地的本機數據庫的庫文件,這簡化了顧客應用程序的管理和維護。作為Javaapplet的一部分,InterClient能夠動態更新,這進一步減少了應用程序部署和維護的費用。要安裝InterClient:
1)確保安裝了JBuilder,并至少運行了一次,這樣InterClient安裝程序能夠把到InterClient.jar的路徑加到JBinlder.ini中JavaVM_properties部分的Djava.class.path行中,并把一個關于庫文件的項目加到library.ini中。
2)關閉計算機上運行的包括Jbuilder在內的所有應用程序。
3)通過從InterBase程序組選擇StartInterBaseServer來啟動InterBase服務器。如果沒有安裝InterBase,參見3.3節“安裝LocalInterBase服務器”。
4)從JBuilderCD上安裝InterClient。從JBuilderCD運行Install.exe,在安裝程序屏幕上選擇InterClient,并且單擊OK。接受所有的缺省設置。當安裝完成時,可以根據需要配置InterClient。當全部完成后,重啟計算機。如果要為使用InterClient而設置JBuilder,請參閱5.2.1節“為數據庫教程設置
InterClient”。關于使用InterClient純JavaJDBC驅動程序的教程,參見5.2節“教程:使用純JavaJDBC驅動程序與數據庫連接”。InterClient允許Javaapplet和應用程序:
· 打開并維護到InterBase數據庫服務器的高
性能的、直接連接。
· 繞過資源密集,無狀態的
網絡服務器訪問方法。
· 允許更高的吞吐率,并減少Web服務器的通信量。
InterClient的主要用戶是希望創建基于Java的客戶機/服務器的應用程序開發者。Java開發者應該能夠無縫地在他們的JDBC應用程序下交換RDBMS后端(backend)。
InterClient提供一個小規模、容易維持RDBMS(InterBase)作為JDBC應用程序的末端。因為InterBase末端很小,經濟,而且符合像JDBC一樣的SQL標準,因此它是一個理想的解決方案。編寫新的基于Java的客戶機程序的InterBase開發者可以使用InterClient訪問他們現存的InterBase數據庫。因為InterClient是一個純Java驅動程序,它也可以在Sun公司新的NC(網絡計算機),即運行applet的桌面機器上使用。NC沒有硬盤或CDROM,用戶通過從服務器上下載的applet來訪問他圖3-1InterClient體系結構
JavaApplet
客戶端驅動程序
桌面客戶系統數據庫訪問
服務器
Web服務器
InterServer
InterSase
Database
downlcadbyteccde
網絡
們的應用程序和數據。
圖3-1顯示了InterClient體系結構。
InterClient由兩個主要的部分組成:
· 一個叫InterClient的客戶機端Java包,包含實現大部分JDBCAPI的Java類庫以及JDBCAPI的一套擴展。本包與JDBC驅動程序管理器(JDBCDriverManager)相互作用,從而允許客戶機端Java應用程序和applet與InterBase數據庫相互作用。
· 一個叫做InterServer的服務器端驅動程序。此服務器端
中間件起到基于InterClient的客戶機與InterBase數據庫服務器之間的翻譯器的作用。開發者可以用兩種方法部署基于InterClient的客戶機:
· Javaapplet是可以用<APPLET>標志包括在HTML頁的Java程序,它通過一個Web服務器來服務,并用有效的Java網絡瀏覽器在客戶機系統上實現對它的查看與使用。此部署方法不需要在客戶機系統上手工安裝InterClient軟件包。然而在客戶機系統上需要一個可用的Java瀏覽器。
· Javaapplication(應用程序)是在客戶機系統上可執行的獨立的Java程序。此部署方法需要InterClient軟件包,以及安裝在客戶機系統上的Java運行環境(Java
RuntimeEnvironment,JRE)。JRE包括JDBC驅動程序管理器(JDBCDriverManager)。
3.5教程中JDBC數據庫連接的故障診斷
使用JDBC連接到SQL服務器可能導致由JDBC產生的錯誤信息。下面列舉的錯誤可能在本書中創建教程時會遇到,了解它們可以幫你解決連接問題.注意JDBC錯誤可能與其他的警告和信息文本混在一起。如果錯誤和消息在一起,你也許需要參考JDBC錯誤響應中的若干行信息。
1.不能裝載“JdbcOdbc.dll”dll文件
找不到JdbcOdbc.dll。驗證JdbcOdbc.dll已經安裝在DOS路徑上的某個目錄中,而且以前在路徑中沒有此.DLL文件的任何更老的版本。通常,這個文件安裝在\java\bin中。如果它不在那里,那它可能被刪除,或者jdbc-odbc橋沒有被正確安裝。關于安裝說明,參見第3章,“安裝與設置用于數據庫應用程序的JBuilder”
2.java.sql.SQLException:沒有合適的驅動程序當與一個URL連接時,每個注冊了的驅動程序都被用來檢查指定的URL。當沒有顯示出對哪個URL的支持時發生這個錯誤。當沒有找到指定的URL的驅動程序類文件(例如,sun.jdbc.odbcJdbcOdbcDriver)時,可能發生此錯誤。請檢查驅動程序類名是否被正確指定,而且已經正確安裝。通常應該在數據庫組件的連接對話框中確認驅動程序名。選擇ChooseURL按鈕,可得到一個已知URL列表。此錯誤發生的另外一個可能的原因是一個無效的URL。在這種情況下,請檢查URL名字是否正確輸入。
3.數據源名字沒有找到
在應用程序中指定的DataSource名與ODBC配置(例如,在安裝本地InterBase時)設置的數據源不匹配。請參見3.3節關于設置DataSource名的“安裝LocalInterBase服務器”。若與數據源列表不匹配,則在數據庫組件的連接對話框中選擇ChooseURL按鈕。在ODBC驅動程序(ODBCDrivers)組中選擇Showdatasources(顯示數據源)按鈕。
4.與java.sql.SQLException連接失?。篬...]不能使用的數據庫
你指定的數據庫不能使用。方括號包含你試圖使用的驅動程序的名字,請檢查服務器是否正在運行,并可以使用。如果服務器是在教程中提到的InterBase服務器,則從它的ProgramGroup(程序組)選擇InterBase服務器來啟動InterBase服務器。第3章安裝與設置用于數據庫應用程序的
原文轉自:http://www.anti-gravitydesign.com