Applet → JDBC → JDBC-ODBC Bridge (sun.jdbc.odbc.JdbcOdbcDriver) → 系統 ODBC DSN → SQL Server。注意:JDBC-ODBC Bridge 已在 Java 8 移除,現代專案請使用純 Java 驅動(mssql-jdbc)。
COMPANY、資料表 TB_NAME(欄位 number、name)。javadata,指向 SQL Server、資料庫 COMPANY,認證模式選 SQL Server 驗證(sa/密碼)。
import java.net.*;
import java.sql.*;
import java.applet.Applet;
public class DBApplet extends Applet {
public void init() {
String url = "jdbc:odbc:javadata"; // 系統 DSN 名稱
try {
// 1. 載入橋接驅動
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 2. 建立連線(sa 帳號、空密碼)
Connection con = DriverManager.getConnection(url, "sa", "");
// 3. 顯示連線元資料
DatabaseMetaData meta = con.getMetaData();
System.out.println("Connected to: " + meta.getURL());
System.out.println("Driver: " + meta.getDriverName() + " v" + meta.getDriverVersion());
// 4. 執行查詢
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(
"SELECT * FROM company.dbo.TB_NAME WHERE number = 1");
if (rs.next()) {
String name = rs.getString("name");
System.out.println("查詢結果: " + name);
// 實際應用可在 paint() 繪製或用 AWT 組件顯示
}
// 5. 關閉資源(逆序)
rs.close();
stmt.close();
con.close();
} catch (SQLException ex) {
System.err.println("!!! SQL Exception !!!");
while (ex != null) {
System.err.println("SQLState: " + ex.getSQLState());
System.err.println("Message: " + ex.getMessage());
System.err.println("Vendor Code: " + ex.getErrorCode());
ex = ex.getNextException();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
<applet code="DBApplet.class" width="400" height="300">
<param name="codebase" value="." />
</applet>
com.microsoft.sqlserver:mssql-jdbc (Maven Central)。jdbc:sqlserver://host:1433;databaseName=COMPANY;user=sa;password=xxx。