import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
public class test {
private static Connection conn = null;
public test() {
}
private static Connection getConnection() {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").
newInstance();
return java.sql.DriverManager.getConnection(
"jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=db_meta",
"sa", "3489113");
}
catch (Exception e) {
e.printStackTrace();
}
return null;
} private static void closeConnection(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
catch (SQLException se) {
se.printStackTrace();
}
}
/*从数据库中分段获取数据返回容器*/
private ArrayList GetDataFromDB() throws Exception{
ArrayList m_list = new ArrayList();
String Sql ="select top 2000 title from meta";
PreparedStatement statement = null;
ResultSet rs = null;
statement = conn.prepareStatement(Sql);
rs = statement.executeQuery();
for (int i = 0; rs.next(); i++) {
m_list.add(rs.getString("title"));
}
return m_list;
}
public void start(){
try{
conn = getConnection();
System.out.println("Loading data ...............");
ArrayList m_list = GetDataFromDB();
System.out.println("Print data :");
Iterator itr = m_list.iterator();
while(itr.hasNext()){
System.out.println((String)itr.next());
}
}catch(Exception e){
e.printStackTrace();
}
} /*启动主函数*/
public static void main(String[] args) throws Exception {
test s = new test();
s.start();
}
}在win下可以运行,编译成 test.class 后复制到一台redhat linux 的 /java_app 的目录下说明: linux 下已经安装好jdk1.6 ,并已经配置好环境变量(JDK的安装目录为 /usr/jdk1.6)输入java -version
[code=BatchFile][root@localhost /]# java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)[/code]
运行test.class出错[code=BatchFile][root@localhost java_app]# java test
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at test.getConnection(test.java:14)
at test.start(test.java:62)
at test.main(test.java:78)
Loading data ...............
java.lang.NullPointerException
at test.GetDataFromDB(test.java:50)
at test.start(test.java:64)
at test.main(test.java:78)[/code]我估计应该是缺少 msbase.jar , mssqlserver.jar ,msutil.jar我便将以上三个文件复制到 /usr/jdk1.6/lib 目录下,问题依然,请教该如何做,谢谢~~~~~~~~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货