【问题标题】:java.lang.ClassNotFoundException exceptionjava.lang.ClassNotFoundException 异常
【发布时间】:2013-09-10 10:16:12
【问题描述】:

我正在做 SqlServer2008 r2 与 android 的连接。

我的代码如下:

public class MainActivity extends Activity {


    String url="jdbc:sqlserver://localhost;instance=14GRAFICALI\\MSSQLSERVER2008;databaseName=AndroidDB;integrated security=true";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TextView tvData=(TextView)findViewById(R.id.tvSelectedData);

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
            Connection conn =DriverManager.getConnection(url);                   

            System.out.println("connected");
            Statement statement=conn.createStatement();
            ResultSet resultSet=statement.executeQuery("select * from AndroidDB");
            while(resultSet.next()){
                tvData.setText(" Data1 : "+resultSet.getString(1)+"  Data 2 : "+resultSet.getNString(2));
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

此代码不起作用,并在线给我错误:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

错误:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

但是当我检查这个路径时,文件在上面的路径中。

看看吧:

可能是什么问题?

请帮帮我。

编辑

Javabuildpath:

库:

【问题讨论】:

  • 你能在你的项目属性中发布一个java构建路径的屏幕吗?
  • @OnurA。先生请看一下
  • 本地主机应该是10.0.2.2
  • @SunilMishra 先生,但其中没有涉及网络服务?还可以吗?
  • 你是不是也在libs文件夹中添加了jar文件??

标签: java android jdbc


【解决方案1】:

当我们将 Android 直接连接到 SQLServer 时,有几个步骤需要被愚弄。

我在这里的回答中提到了每一个详细的步骤:

Class not found although particular jar is added in project (android to sqlserver without webservice)

请按照阶段进行,我相信你会克服所有的错误。

【讨论】:

    【解决方案2】:

    CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未列在 CLASSPATH 变量中,则在尝试加载驱动程序时会收到以下错误消息: java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver

    JDBC 驱动程序不是 Java SDK 的一部分。如果要使用它,必须将类路径设置为包含 sqljdbc.jar 文件或 sqljdbc4.jar 文件。如果类路径缺少 sqljdbc.jar 或 sqljdbc4.jar 条目,您的应用程序将抛出常见的“找不到类”异常。

    sqljdbc.jar文件和sqljdbc4.jar文件安装在以下位置:

    <installation directory>\sqljdbc_<version>\<language>\sqljdbc.jar
    <installation directory>\sqljdbc_<version>\<language>\sqljdbc4.jar
    

    以下是用于 Windows 应用程序的 CLASSPATH 语句示例:

    CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc.jar 
    

    以下是用于 Unix/Linux 应用程序的 CLASSPATH 语句示例:

    CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_4.0/enu/sqljdbc.jar 
    

    您必须确保 CLASSPATH 语句仅包含一个 Microsoft JDBC Driver for SQL Server,例如 sqljdbc.jar 或 sqljdbc4.jar。

    【讨论】:

      【解决方案3】:

      确保在您的类路径中包含 SQLServerDriver 类的 jar,如 here 所述。

      如果您使用的是 Eclipse,请右键单击您的项目,然后单击 Java Build Path,在 Libraries 选项卡下,检查该 jar 是否存在并且不存在同一个 jar 的其他版本。

      【讨论】:

        【解决方案4】:

        根据this thread on the microsoft msdn forum,使用不同的 JDBC 驱动程序应该可以工作。不过我自己没有测试过。

        【讨论】:

          猜你喜欢
          • 2013-11-02
          • 1970-01-01
          • 2023-01-31
          • 2016-05-05
          • 2010-12-05
          • 2020-06-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多