PDA

View Full Version : [Q] connect Java và Ms Access



nth
04-10-2002, 20:27
Có bạn nào biết cách connect Java và Database (Ms Access) không vậy?

nth có connect qua:
- java <-> Oracle hay JDBC (nhớ không ró lắm)
- ASP<-> Ms Access

bạn nào biết thì chỉ nhanh lên nha, vì nth cần cái này trước khi programming trong Java (vào thứ hai này).

poorguy11385
04-10-2002, 22:30
Chào bạn nth,

Bạn cần làm theo những bước sau đây:

1. Cài đặt JDBC, and the JDBC-ODBC bridge. Nếu bạn đã cài đặt JDK1.1 trở lên thì đã có sẳn rồi
2. Sửa lại Java CLASSPATH trên máy của bạn. Ví dụ như:
.;C:\jdk1.4.0\lib\classes.zip; Nếu bạn đã từng sài JDK trên máy bạn thì không cần.
3. Cài đặt Microsoft Desktop Database drivers trên máy của bạn
4. Create your database (Ms Access)
5. Register the database as an ODBC database.
Ðể làm việc này bạn cần phải đi vào Control Panel, open up "ODBC", click "Add", click "Microsoft Access Driver" (nếu bạn dùng Access database), sau đó type in the name of your database, and click "Select" to browse for your database.
6. Connect to database: Việc này thì ở trong chương trình của ban, bạn có thể gọi như sau:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:nth(đây là tên của database)";
Connection con = DriverManager.getConnection(url, "username", "password");

Chúc thành công,


WWW.VINAWEBS.COM (http://www.vinawebs.com)

nth
05-10-2002, 02:33
Cám ơn bạn nhiều

nth
08-10-2002, 19:08
Chào bạn poorguy11385!

Bạn có thể nói ró hơn không, thí dụ nếu nth đặt database tại c:/ database.mdb thì trong phần url phải viết sao?

String url = "jdbc:odbc:nth(đây là tên của database)";

1) String url = "jdbc:odbc://c:database.mdb";
2) String url = "jdbc:odbc:c:/database.mdb";
3) String url = "jdbc:odbc:c:database.mdb";
4) String url = "jdbc:odbc:c:database";


nth có làm theo cách hướng dẫn của bạn, nhưng không work trong phần connecting, không biết do lỗi trong url hay là trong phần register the database as an ODBC database.

poorguy11385
08-10-2002, 22:28
Hi nth,

Bạn không cần phải bỏ vào C:database.mdb vì khi bạn create database bạn đã chọn the PATH của database rồi.

Sau đây là phần mẩu, bạn coi thử để làm mẩu.

import java.sql.*;

class nth {

public static void main (String args[]) {

// Assume your database name is nth when you've created
String url = "jdbc:odbc:nth.mdb";
String query = "SELECT * FROM nth";

try {

// Load the jdbc-odbc bridge driver

Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

// Attempt to connect to a driver. Each one
// of the registered drivers will be loaded until
// one is found that can process this URL
Connection con = DriverManager.getConnection(url, "username", "password");

// Get the DatabaseMetaData object and display
// some information about the connection

DatabaseMetaData dma = con.getMetaData ();

// Create a Statement object so we can submit
// SQL statements to the driver

Statement stmt = con.createStatement ();

// Submit a query, creating a ResultSet object

ResultSet rs = stmt.executeQuery (query);

// Display all columns and rows from the result set

--> put them in a while loop such as
while(rs.next())
{
// do something in here
}

// Close the result set

rs.close();

// Close the statement

stmt.close();

// Close the connection

con.close();
}
catch (SQLException ex) { }
}

Chúc bạn thành công.

WWW.VINAWEBS.COM (http://www.vinawebs.com)

Mèo mướp
10-10-2002, 18:59
Gửi bạn poorguy....

Chương trình của bạn truy xuất dữ liệu được khi set up ODBC tại máy, còn nếu tui muốn truy xuất CSDL khi sử dụng JSP thì có gì khác không ?

Giả sử tại http://www.web.com có
Folder abc gồm : index.jsp và acc.mdb thì muốn truy xuất nó như thế nào ?


Cám ơn trước.

poorguy11385
10-10-2002, 23:06
Hi Meo Muop,

Theo như bạn nói thì poorguy nghỉ rằng bạn running application and database at same machine. Trong trường hợp này thì việc truy cập CSDL cũng giống như code mình đã post ở trên. Nhưng bạn cần phải register MS access driver trong cái server của bạn rồi chọn cái PATH của acc.mdb by browse theo các directory.
Sau đó trong cái index.jsp của bạn, chỉ cần làm như sau:

<%@ page language="java" import="java.sql.*" %>
<%
String url = "jdbc:0dbc:acc.mdb";
String query = "SELECT * FROM acc";
try{
// Load the jdbc-odbc bridge driver

Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

// Attempt to connect to a driver. Each one
// of the registered drivers will be loaded until
// one is found that can process this URL
Connection con = DriverManager.getConnection(url, "username", "password");

// Get the DatabaseMetaData object and display
// some information about the connection

DatabaseMetaData dma = con.getMetaData ();

// Create a Statement object so we can submit
// SQL statements to the driver

Statement stmt = con.createStatement ();

..................................
}
catch{ }

%>

WWW.VINAWEBS.COM (http://www.vinawebs.com)