Applet直接訪問資料庫 (轉)

worldblog發表於2007-12-14
Applet直接訪問資料庫 (轉)[@more@]


  其實我個人認為Applet要訪問的話,採用我以前一篇文章《傳送查詢記錄集給Applet》的方法去實現比較好的,這樣可以不用客戶端jc,同時也不必暴露資料庫結構。所以這篇文章僅作為技術探討。
  我這裡要講解的是Applet直接訪問Server2000的例項,我想其他的資料庫也是類似了。準備工作,到站點下載 2000 for 。下面詳解各個步驟:
1。寫一個簡單的Applet
import .awt.*;
import java.applet.*;
import java.sql.*;

public class Test extends Applet {
 private String strErrorMessage = "";
 public void init() {
 try{
 //註冊SQLServer2000 jdbc驅動程式
 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
 //連線資料庫
 Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.9.200.52:1433;databaseName=bluesite", "sa", "");
 String sql= " UserName FROM UserInfo";
 Statement  stmt = conn.createStatement();
 ResultSet  rslt = stmt.executeQuery(sql);
 while (rslt.next())
 {
 strErrorMessage +=rslt.getString(1);
 }
 rslt.close();
 stmt.close();
 conn.close();
 } catch (Exception exp) {
 strErrorMessage += exp.toString();
 }
 }

 public void paint(Graphics g) {
 g.drawString(strErrorMessage, 50, 60 );
 }
}
編譯。

2。打包資料庫驅動程式與Test.class
建一個Test.jar,把Test.class,以及SQLServer2000驅動程式的三個jar解出來打包進去。
最後的Test.jar目錄結構如下:
commicrosoftjdbc[目錄]
commicrosoftjdbcx[目錄]
commicrosoftutil[目錄]
Test.class

3。寫一個使用的html檔案





 code = "Test.class"
 archive = "Test.jar"
 width = "800"
 height = "300"
 >



4。編輯策略檔案.java.policy

grant {
  pession java.lang.RuntimePermission "accessClassInPackage.com.microsoft.util";
  permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbc";
  permission java.lang.RuntimePermission "accessClassInPackage.com.microsoft.jdbcx";
  permission java.SocketPermission "192.9.200.52:1433", "connect";
};

注:192.9.200.52是資料庫的ip,1433是sqlserver開的連線埠
儲存到盤:Documents and SettingsUserName下,注意這個檔案是要儲存到客戶端的

5。執行測試
直接在中開啟那個html檔案。應該可以看到結果

  全文完。如有不詳之處請聯絡to:zlyperson@163.net">zlyperson@163.net


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章