首頁 資料庫 mysql教程 java连接access数据库说明以及示例代码

java连接access数据库说明以及示例代码

Jun 07, 2016 pm 03:43 PM
access java 程式碼 資料庫 範例 說明 連接

之前 我链接access的时候 经常出现odbc源驱动器的错误 后来我才发现 其实是这样的 要 连接 Access数据源,首先要建立一个JDBC-ODBC桥接器,其方法是: Class . forName ( sun.jdbc.odbc.JdbcOdbcDriver ); Class 是 Java.lang 包中的一个类,通过调用它的静态

 

 

之前 我链接access的时候 经常出现odbc源驱动器的错误

 

后来我才发现 其实是这样的

连接Access数据源,首先要建立一个JDBC-ODBC桥接器,其方法是:

<span>Class</span><span>.</span><span>forName</span><span>(</span><span>"sun.jdbc.odbc.JdbcOdbcDriver"</span><span>);</span>
登入後複製

ClassJava.lang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:

try{<span>Class</span><span>.</span><span>forName</span><span>(</span><span>"sun.jdbc.odbc.JdbcOdbcDriver"</span><span>);</span>}catch(ClassNotFoundException e){异常捕获}
登入後複製

然后就是连接数据库了,这里要用到java.sql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接

Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");//注意 这里是数据源的名字 用户名和密码都需要配置。try{<span>Class</span><span>.</span><span>forName</span><span>(</span><span>"sun.jdbc.odbc.JdbcOdbcDriver"</span><span>);</span>}catch(ClassNotFoundException e){System.out.println(""+e);}  
   // 下面一句是重点String path =this.getClass().getClassLoader().getResource("db1.mdb").getPath().substring(1);//db1.mdb为创建的Access数据库文件//此数据库文件路径与java文件在同一路径下String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+path;Connection conn=DriverManager.getConnection(url);Statement st = conn.createStatement();
登入後複製

实例

<span>package</span><span> com</span><span>.neusoft</span><span>.</span><span>common</span><span>;</span><span>import</span><span> java</span><span>.</span><span>sql</span><span>.</span><span>Connection</span><span>;</span><span>import</span><span> java</span><span>.</span><span>sql</span><span>.</span><span>PreparedStatement</span><span>;</span><span>import</span><span> java</span><span>.</span><span>sql</span><span>.</span><span>ResultSet</span><span>;</span><span>import</span><span> java</span><span>.</span><span>sql</span><span>.</span><span>SQLException</span><span>;</span><span>import</span><span> java</span><span>.</span><span>sql</span><span>.</span><span>Statement</span><span>;</span><span>import</span><span> com</span><span>.</span><span>mchange</span><span>.</span><span>v2</span><span>.</span><span>c3p0</span><span>.</span><span>ComboPooledDataSource</span><span>;</span><span>/**
 * c3p0 的 jdbc<strong>连接</strong>池
 * 
 * @author 
 * 
 */</span><span>public</span><span>class</span><span>DBConnectionPool</span><span>{</span><span>protected</span><span>DBConnectionPool</span><span>()</span><span>{</span><span>}</span><span>private</span><span>static</span><span>ComboPooledDataSource</span><span> ds </span><span>=</span><span>null</span><span>;</span><span>static</span><span>{</span><span>try</span><span>{</span><span>
            ds </span><span>=</span><span>new</span><span>ComboPooledDataSource</span><span>();</span><span>// 设置jdbc的Driver类</span><span>
            ds</span><span>.</span><span>setDriverClass</span><span>(</span><span>"sun.jdbc.odbc.JdbcOdbcDriver"</span><span>);</span><span>// 设置jdbc的url</span><span>
            ds
                    </span><span>.</span><span>setJdbcUrl</span><span>(</span><span>"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=H:/gyt_web/Database/SiteWeaver.mdb"</span><span>);</span><span>//            // 设置<strong>数据库</strong>的登录用户名</span><span>//            ds.setUser("admin");</span><span>//            // 设置<strong>数据库</strong>的登录用户名</span><span>//            ds.setPassword("admin");</span><span>// 设置<strong>连接</strong>池的最大<strong>连接</strong>数</span><span>
            ds</span><span>.</span><span>setMaxPoolSize</span><span>(</span><span>200</span><span>);</span><span>// 设置<strong>连接</strong>池的最小<strong>连接</strong>数</span><span>
            ds</span><span>.</span><span>setMinPoolSize</span><span>(</span><span>20</span><span>);</span><span>}</span><span>catch</span><span>(</span><span>Exception</span><span> e</span><span>)</span><span>{</span><span>
            e</span><span>.</span><span>printStackTrace</span><span>();</span><span>}</span><span>}</span><span>protected</span><span>static</span><span>synchronized</span><span>Connection</span><span> getConnection</span><span>()</span><span>{</span><span>Connection</span><span> con </span><span>=</span><span>null</span><span>;</span><span>try</span><span>{</span><span>
            con </span><span>=</span><span> ds</span><span>.</span><span>getConnection</span><span>();</span><span>}</span><span>catch</span><span>(</span><span>SQLException</span><span> e</span><span>)</span><span>{</span><span>
            e</span><span>.</span><span>printStackTrace</span><span>();</span><span>}</span><span>return</span><span> con</span><span>;</span><span>}</span><span>/**
     * 查询通用方法
     * 
     * @param sql
     * @param params
     * @return
     */</span><span>public</span><span>ResultSet</span><span> query</span><span>(</span><span>String</span><span> sql</span><span>,</span><span>Object</span><span>[]</span><span>params</span><span>)</span><span>{</span><span>Connection</span><span> conn </span><span>=</span><span>null</span><span>;</span><span>PreparedStatement</span><span> ps</span><span>教程</span><span>tmt </span><span>=</span><span>null</span><span>;</span><span>ResultSet</span><span> rs </span><span>=</span><span>null</span><span>;</span><span>
        conn </span><span>=</span><span>this</span><span>.</span><span>getConnection</span><span>();</span><span>try</span><span>{</span><span>
            pstmt </span><span>=</span><span> conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>);</span><span>if</span><span>(</span><span>params</span><span>!=</span><span>null</span><span>)</span><span>{</span><span>for</span><span>(</span><span>int</span><span> i </span><span>=</span><span>0</span><span>;</span><span> i </span><span><span>params</span><span>.</span><span>length</span><span>;</span><span> i</span><span>++)</span><span>{</span><span>
                    pstmt</span><span>.</span><span>setObject</span><span>(</span><span>i </span><span>+</span><span>1</span><span>,</span><span>params</span><span>[</span><span>i</span><span>]);</span><span>}</span><span>}</span><span>
            rs </span><span>=</span><span> pstmt</span><span>.</span><span>executeQuery</span><span>();</span><span>}</span><span>catch</span><span>(</span><span>SQLException</span><span> e</span><span>)</span><span>{</span><span>// TODO Auto-generated catch block</span><span>
            e</span><span>.</span><span>printStackTrace</span><span>();</span><span>}</span><span>return</span><span> rs</span><span>;</span><span>}</span><span>/**
     * 修改 增加 删除通用方法
     * 
     * @param sql
     * @param params
     * @return
     */</span><span>public</span><span>int</span><span> executeSQL</span><span>(</span><span>String</span><span> sql</span><span>,</span><span>Object</span><span>[]</span><span>params</span><span>)</span><span>{</span><span>Connection</span><span> conn </span><span>=</span><span>null</span><span>;</span><span>PreparedStatement</span><span> pstmt </span><span>=</span><span>null</span><span>;</span><span>int</span><span> result </span><span>=</span><span>0</span><span>;</span><span>
        conn </span><span>=</span><span>this</span><span>.</span><span>getConnection</span><span>();</span><span>try</span><span>{</span><span>
            pstmt </span><span>=</span><span> conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>);</span><span>if</span><span>(</span><span>params</span><span>!=</span><span>null</span><span>)</span><span>{</span><span>for</span><span>(</span><span>int</span><span> i </span><span>=</span><span>0</span><span>;</span><span> i </span><span><span>params</span><span>.</span><span>length</span><span>;</span><span> i</span><span>++)</span><span>{</span><span>
                    pstmt</span><span>.</span><span>setObject</span><span>(</span><span>i </span><span>+</span><span>1</span><span>,</span><span>params</span><span>[</span><span>i</span><span>]);</span><span>}</span><span>}</span><span>
            result </span><span>=</span><span> pstmt</span><span>.</span><span>executeUpdate</span><span>();</span><span>}</span><span>catch</span><span>(</span><span>SQLException</span><span> e</span><span>)</span><span>{</span><span>// TODO Auto-generated catch block</span><span>
            e</span><span>.</span><span>printStackTrace</span><span>();</span><span>}</span><span>return</span><span> result</span><span>;</span><span>}</span><span>}</span></span></span>
登入後複製

java连接access实例:

<span>import</span><span> java</span><span>.</span><span>sql</span><span>.*;</span><span>public</span><span>class</span><span>ConnectAccess</span><span>{</span><span>/** 
* 初学者请注意: 
* 1:先建立一个access文件a1.mdb,并放在D:下; 
* 2:在<strong>数据库</strong>文件a1.mdb中建立一个表Table1; 
* 3:为Table1添加一列,并插入至少一条记录; 
* 4:本文是一个完整的类,直接拿去运行就可以。 
*/</span><span>public</span><span>static</span><span>void</span><span> main</span><span>(</span><span>String</span><span> args</span><span>[])</span><span>throws</span><span>Exception</span><span>{</span><span>ConnectAccess</span><span> ca</span><span>=</span><span>new</span><span>ConnectAccess</span><span>();</span><span> 
  ca</span><span>.</span><span>ConnectAccessFile</span><span>();</span><span> 
  ca</span><span>.</span><span>ConnectAccessDataSource</span><span>();</span><span>}</span><span>public</span><span>void</span><span>ConnectAccessFile</span><span>()</span><span>throws</span><span>Exception</span><span>{</span><span>Class</span><span>.</span><span>forName</span><span>(</span><span>""</span><span>sun</span><span>.</span><span>jdbc</span><span>.</span><span>odbc</span><span>.</span><span>JdbcOdbcDriver</span><span>""</span><span>);</span><span>/** 
  * 直接<strong>连接</strong>access文件。 
  */</span><span>String</span><span> dbur1 </span><span>=</span><span>""</span><span>jdbc</span><span>:</span><span>odbc</span><span>:</span><span>driver</span><span>={</span><span>Microsoft</span><span>Access</span><span>Driver</span><span>(*.</span><span>mdb</span><span>)};</span><span>DBQ</span><span>=</span><span>d</span><span>:</span><span>a1</span><span>.</span><span>mdb</span><span>""</span><span>;</span><span>Connection</span><span> conn </span><span>=</span><span>DriverManager</span><span>.</span><span>getConnection</span><span>(</span><span>dbur1</span><span>,</span><span>""</span><span>username</span><span>""</span><span>,</span><span>""</span><span>password</span><span>""</span><span>);</span><span>Statement</span><span> stmt </span><span>=</span><span> conn</span><span>.</span><span>createStatement</span><span>();</span><span>ResultSet</span><span> rs </span><span>=</span><span> stmt</span><span>.</span><span>executeQuery</span><span>(</span><span>""</span><span>select</span><span>*</span><span>from</span><span>Table1</span><span>""</span><span>);</span><span>while</span><span>(</span><span>rs</span><span>.</span><span>next</span><span>())</span><span>{</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>rs</span><span>.</span><span>getString</span><span>(</span><span>1</span><span>));</span><span>}</span><span> 
  rs</span><span>.</span><span>close</span><span>();</span><span> 
  stmt</span><span>.</span><span>close</span><span>();</span><span> 
  conn</span><span>.</span><span>close</span><span>();</span><span>}</span>
登入後複製

注意:

JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。

JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。

首先安装office2000,就有了Access2000,启动Access,建立新数据库mess.mdb,建立包含两个文本型字段name和sex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,

点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如redsun。点"选择",找到"C:mess.mdb"文件,如此一个ODBC数据源就配置好了

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP與Python:用例和應用程序 PHP與Python:用例和應用程序 Apr 17, 2025 am 12:23 AM

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。

PHP的影響:網絡開發及以後 PHP的影響:網絡開發及以後 Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

甲骨文在商業世界中的作用 甲骨文在商業世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不僅是數據庫公司,還是雲計算和ERP系統的領導者。 1.Oracle提供從數據庫到雲服務和ERP系統的全面解決方案。 2.OracleCloud挑戰AWS和Azure,提供IaaS、PaaS和SaaS服務。 3.Oracle的ERP系統如E-BusinessSuite和FusionApplications幫助企業優化運營。

MySQL與其他數據庫:比較選項 MySQL與其他數據庫:比較選項 Apr 15, 2025 am 12:08 AM

MySQL適合Web應用和內容管理系統,因其開源、高性能和易用性而受歡迎。 1)與PostgreSQL相比,MySQL在簡單查詢和高並發讀操作上表現更好。 2)相較Oracle,MySQL因開源和低成本更受中小企業青睞。 3)對比MicrosoftSQLServer,MySQL更適合跨平台應用。 4)與MongoDB不同,MySQL更適用於結構化數據和事務處理。

使用DICR/YII2-Google將Google API集成在YII2中 使用DICR/YII2-Google將Google API集成在YII2中 Apr 18, 2025 am 11:54 AM

vProcesserazrabotkiveb被固定,мнелостольностьстьс粹餾標д都LeavallySumballanceFriablanceFaumDoptoMatification,Čtookazalovnetakprosto,kakaožidal.posenesko

MySQL:結構化數據和關係數據庫 MySQL:結構化數據和關係數據庫 Apr 18, 2025 am 12:22 AM

MySQL通過表結構和SQL查詢高效管理結構化數據,並通過外鍵實現表間關係。 1.創建表時定義數據格式和類型。 2.使用外鍵建立表間關係。 3.通過索引和查詢優化提高性能。 4.定期備份和監控數據庫確保數據安全和性能優化。

nginx限流怎麼解決 nginx限流怎麼解決 Apr 14, 2025 pm 12:06 PM

Nginx 限流問題可通過以下方法解決:使用 ngx_http_limit_req_module 限制請求次數;使用 ngx_http_limit_conn_module 限制連接數;使用第三方模塊(ngx_http_limit_connections_module、ngx_http_limit_rate_module、ngx_http_access_module)實現更多限流策略;使用雲服務(Cloudflare、Google Cloud Rate Limiting、AWS WAF)進行 DD

MySQL:一種對數據存儲的初學者友好方法 MySQL:一種對數據存儲的初學者友好方法 Apr 17, 2025 am 12:21 AM

MySQL適合初學者,因為它易用且功能強大。 1.MySQL是關係型數據庫,使用SQL進行CRUD操作。 2.安裝簡單,需配置root用戶密碼。 3.使用INSERT、UPDATE、DELETE、SELECT進行數據操作。 4.複雜查詢可使用ORDERBY、WHERE和JOIN。 5.調試需檢查語法,使用EXPLAIN分析查詢。 6.優化建議包括使用索引、選擇合適數據類型和良好編程習慣。

See all articles