Я создал простой проект Java в NetBean 7.0 и добавил файл jar sqljdbc4.jar для поддержки MS SQl.
Я создал класс, в котором я создал источник данных (код ниже) для MQ SQL.Он подключается к базе данных с использованием источника данных и успешно получает количество записей (504).(У меня есть таблица Product с 504 записями)
Но выдается ошибка при попытке привязки к Context.Может ли кто-нибудь помочь мне предложить, что я должен ввести, чтобы заполнить "???"в коде ниже?
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();
}
}
}