现在的位置: 首页 > 综合 > 正文

下面的范例演示了Java Application如何透过JNDI连接上SQL Server 2000

2013年08月17日 ⁄ 综合 ⁄ 共 1494字 ⁄ 字号 评论关闭

值得注意的是: 需要在CLASSPATH中设置好
commons-dbcp-1.2.2.jar; commons-pool-1.4.jar;naming-common.jar一个文件的路径
这三个文件可以直接在Apache的网站上下载, 若装有Tomcat, 在<Tomcat Path>/common/lib
路径下也可以找到

import javax.sql.*;
import javax.naming.*;
import java.sql.*;
import java.util.*;
import org.apache.commons.dbcp.*;

public class JNDI_Demo {
   public static void main(String[] args) {
     try{
      BasicDataSource basDS = new BasicDataSource();
     
      basDS.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//Setting database driver
    
      basDS.setUrl("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs;");//Setting JDBC's URL
      basDS.setUsername("sa");
      basDS.setPassword("");
     
      basDS.setInitialSize(2);//Setting connection-pooling
     
      //Config JNDI
      Hashtable hashTab = new Hashtable();
      hashTab.put("java.naming.factory.initial","org.apache.naming.java.javaURLContextFactory");
      InitialContext ctx=new InitialContext(hashTab);
     
      ctx.bind("JNDI_DS",bdds);//Bind datasource to JNDI
     
      DataSource ds = (DataSource)ctx.lookup("JNDI_DS");//Search datasource in JNDI
     
      Connection con = ds.getConnection();
      Statement stmt = con.createStatement();
      String strSql = "SELECT AU_ID, PHONE FROM AUTHORS";
      ResultSet rs = stmt.executeQuery(strSql);
      while(rs.next()){
  String strAuID  = rs.getString(1);
  String strPhone = rs.getString(2);
  System.out.println("AU_ID = " + strAuID + "/tPHONE = " + strPhone);
      }
      rs.close();
      stmt.close();
      con.close();
     }catch(Exception ex){
      System.out.print(ex.toString());
     }
  }

抱歉!评论已关闭.