TCP服务器上的java.lang.ClassNotFoundException
我正在用Eclipse用java编写一个基本的TCP服务器,在从客户机接收到一个特定的数据包之后,我正在尝试执行一个MSSQL存储过程。 我可以记录所有内容,但当我尝试插入行时,出现以下错误:TCP服务器上的java.lang.ClassNotFoundException,java,classnotfoundexception,sqljdbc,mssql-jdbc,Java,Classnotfoundexception,Sqljdbc,Mssql Jdbc,我正在用Eclipse用java编写一个基本的TCP服务器,在从客户机接收到一个特定的数据包之后,我正在尝试执行一个MSSQL存储过程。 我可以记录所有内容,但当我尝试插入行时,出现以下错误: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 试图用谷歌搜索解决方案,但没有任何效果,不断给我那个错误。 下面是我的类路径xml(jar文件在那里): 这是我与插入的db类的连接: pac
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
试图用谷歌搜索解决方案,但没有任何效果,不断给我那个错误。
下面是我的类路径xml(jar文件在那里):
这是我与插入的db类的连接:
package servers;
import java.sql.*;
public class LServerDBConn {
private Statement stmt;
private String DriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String url = "jdbc:microsoft:sqlserver://192.168.x.x;databaseName=XXX";
private String DBuser = "sa";
private String DBpassword = "123123";
public void connectionText(String query) throws ClassNotFoundException,SQLException {
Class.forName(this.DriverName);
Connection con = DriverManager.getConnection(this.url, this.DBuser, this.DBpassword);
this.stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("EXEC SPI_TK103_PACKET" + query);
if (rs.next()) {
System.out.println("DBConnection success");
} else {
System.out.println("DBConnection failure");
}
con.close();
}
}
这是我的主课:
LServerDBConn con = new LServerDBConn();
con.connectionText(new String(buf, 0, bytes_read));
谢谢你的帮助
[编辑]文件似乎有问题。项目没有读取文件,因此找不到类。我尝试使用JTDS,同样的情况也发生了。我想我正在使用一些配置。看起来您缺少了 sqljdbc4.jar或sqljdbc.jar 在您的类路径中 编辑(如何将其包含在类路径中) 类路径不容易用您需要查看的一个快速答案来解释,基本上您必须告诉java应用程序在哪里查找要加载到其类路径中的JAR/资源 Linux java-classpath“/home/leandro/workspace/LHub/*:”YourApp 下载tar.gz并解压缩它以获得jar
尝试从下载它,但是应该如何用xml编写?我在项目文件夹中有这两个文件。同样在/usr/lib/jvm/java-7-common/ext文件夹(或类似的文件夹)中,感谢您的回答。我会尝试一下,让你知道。有没有办法从内部配置类路径?所以我可以在不带-classpath参数的情况下执行java-jar FILE.jar?有一种方法,但它可能不是您想要的,但它是这样的。一旦你的项目准备好了,用你所有的类制作一个jar,当你创建jar时,在其中包含JDBCJAR,并添加jar,设置jar的清单,以包含你的类和主方法以及类路径。我发现最好的方法通常是使用ant,但是你可以用很多其他方法手工制作它,包括手动。Java是一种令人惊叹的语言,但是打包系统还有很多需要改进的地方。。。