java连接access数据库说明以及示例代码
之前 我链接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>
Class
是Java.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数据源就配置好了

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

SQLステートメントは、SQLステートメントを条件付きで実行するために使用され、構文は次のようになります。if(条件)then {ステートメント} else {ステートメント} end if;。条件は有効なSQL式である可能性があり、条件が真の場合、then句を実行します。条件が偽の場合は、else句を実行します。ステートメントをネストできる場合、より複雑な条件付きチェックを可能にします。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
