2011-08-13 47 views
1

我在NetBean 7.0中創建了一個簡單的Java項目,併爲MS SQl支持添加了jar文件sqljdbc4.jar。如何使用context.bind綁定數據源。連接池等

我創建了一個類,其中爲MQ SQL創建了一個數據源(代碼如下)。 它使用數據源連接數據庫併成功獲取記錄數(504)。 (我有一個有504條記錄的產品表)

但嘗試綁定到上下文時會引發錯誤。有人可以幫我建議我應該填寫什麼「???」在下面的代碼?

package datasourcetest; 

import javax.naming.InitialContext; 

import javax.naming.Context; 

import javax.naming.NamingException; 

import com.microsoft.sqlserver.jdbc.SQLServerDataSource; 

import java.sql.*; 

import java.util.Hashtable; 

/** 
* 
* @author admin 
*/ 



public class dataSource { 

public static void main(String [] args) 
{ 

SQLServerDataSource ds = new SQLServerDataSource(); 

ds.setServerName("admin-PC\\SQLEXPRESS"); 

ds.setPortNumber(1433); 

ds.setUser("sa"); 

ds.setPassword("admin"); 

try{ 

System.out.println("PART 1"); 

Connection con = ds.getConnection(); 

if(con !=null) 

{ 

System.out.println("Connection Success"); 

} 

Statement stmt = con.createStatement(); 

ResultSet rs = stmt.executeQuery("select count(*) from AdventureWorks.Production.Product") ; 

while(rs.next()) { 

int count = rs.getInt(1); 

System.out.println("Total Record: "+ count); 

} 

/* Bind the DataSource to JNDI so that we can look for the datasource by the name given**/ 

System.out.println("PART 2"); 

Hashtable env = new Hashtable(); 

env.put(Context.INITIAL_CONTEXT_FACTORY," ??? "); 

env.put(Context.PROVIDER_URL, " ??? "); 

Context ctx = new InitialContext(env); 

ctx.bind("jdbc/myDatasource",ds); 

SQLServerDataSource myDs = (SQLServerDataSource)ctx.lookup("jdbc/myDatasource"); 

} 

catch(SQLException se) { 

System.out.println("Failed PART 1"); 

} 

catch(NamingException ne) { 

System.out.println("Failed PART 2"); 

ne.printStackTrace(); 

} 

} 

} 

回答