环境JDKSQLServer2000(demo我的数据库名)其它什么都没有配置了...(没有web服务器,也没有使用什么工具,我是在DOS下面运行java程序的...)我是在看<>一书其中一个...
环境JDK
SQL Server 2000 (demo我的数据库名)
其它什么都没有配置了...(没有web服务器,也没有使用什么工具,我是在DOS下面运行java程序的...)
我是在看<>一书
其中一个例子如下,书上也没写要配置什么环境要装什么...
可我运行出现一下结果:
2222222222
NamingException in main: Cannot instantiate class: com.sun.jndi.RegistryContextFactory
需要做什么样的修改在目前这个环境下,在DOS里面把这个java程序运行成功?
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import java.util.*;
public class BasicExample2 {
public static void main(String[] args) {
Connection con = null;
try {
Hashtable env =new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.RegistryContextFactory");
env.put(Context.PROVIDER_URL, "rmi://Localhost:1433");
InitialContext ctx = new InitialContext(env);
System.out.println("env获取成功!");
DataSource ds = (DataSource) ctx.lookup("demo");
con = ds.getConnection();
Statement stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from book");
while (rs.next()) {
System.out.print("Number:" + rs.getString("ID").toString()
+ ";");
System.out.println("Name:"
+ rs.getString("bookname").toString());
}
} catch (SQLException e) {
System.out.println("1111111111");
e.printStackTrace();
} catch (NamingException e) {
System.out.println("2222222222");
System.out.println("NamingException in main: " + e.getMessage());
} catch (Exception e) {
System.out.println("3333333333");
System.out.println("Exception in main: " + e.getMessage());
e.printStackTrace();
} finally {
try {
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
还是抛出NamingException这个异常...
env获取成功!
2222222222
NamingException in main: null
JAVA环境我是配好的...
展开