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();
}
}
}
謝謝 - 鏈路信息,但不說的INITIAL_CONTEXT_FACTORY和PROVIDER_URL值。它拋出錯誤:javax.naming.NoInitialContextException:無法實例化類:???? [根異常是java.lang.ClassNotFoundException:???? ] – Steer360
該問題的任何解決方案? – Lite