当前位置: 首页 > 知识库问答 >
问题:

我无法使用jdbc连接到MySql数据库Android studio。

万德海
2023-03-14
try {
    conn = DriverManager.getConnection(databaseURL, user, password);
    if (conn != null) {
    }
} catch (SQLException ex) {
    username="dsadsa2";
    ex.printStackTrace();
} finally {
    if (conn != null) {
        try {
            username="dsadsa";
            conn.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

我试着用这个代码

databaseURL="jdbc:mysql://DATABASE_IP:3306/DATABASE_NAME" 

也许是错误的语法?

它总是得到SQLException并且不会写入日志中的任何内容...

不知道为什么会这样?

原木

03-05 14:18:33.862 8177-8177/com示例。myapplication E/YOUR_APP_LOG_TAG:我收到一个错误java.lang.ClassNotFoundException:com.mysql.jdbc。java.lang.Class中的驱动程序。位于android.app.ActivityThread.performLaunchActivity的java.lang.Class.forName(Class.java:309)处的java.lang.Class.forName(Class.java:273)处的classForName(原生方法)android.app.ActivityThread.main上的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)上的ActivityThreads.access$800(ActivityTthread.java:153)(ActivityThread.java:5305)位于java.lang.reflect.Method。invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)at com.android.internation.os.ZygoteInit.main(ZygateInit.java:698)由以下原因引起:java.lang.ClassNotFoundException:在路径:DexPathList[[zip file“/data/app/com.example.myapplication-1/base.apk”]上找不到类“com.mysql.jjdbc.Driver”,位于java.lang.ClassLoader.loadClass(ClassLoader.java:511)的java.lang.CClassLoader.loadClass(ClassLoader.java:469)的dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)处的nativeLibraryDirectories=[/vendor/lib,/system/lib]]。classForName(本机方法)

共有1个答案

穆商震
2023-03-14

首先,您必须在依赖项中添加 jtds 库,如下所示:

  public class ConnectionClass
{
    Connection con;
    @SuppressLint("NewApi")
    public Connection conclass(){
        String ip= "yourip",port="1433",database="DatabaseName",username="username",password="password@123";
        StrictMode.ThreadPolicy a=new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(a);
        String connecturl=null;

        try{
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            connecturl = "jdbc:jtds:sqlserver://" + ip + ":" + port + ";databasename=" + database + ";user=" + username + ";"+"password=" + password + ";";
      

           con = DriverManager.getConnection(connecturl);
        } catch (Exception e) {
          Log.e("Error :", e.getMessage());
        }
    return con;
} 

}
 类似资料:
  • 我创建了一个简单的类来测试与我的localhost数据库的通信,这是我用Mysql Workbench创建的。Mysql服务器正在运行。JDBC驱动程序被添加到我的项目的类路径中。 当我运行程序时,我得到以下异常: 线程“main”com.mysql.cj.jdbc.Exceptions.CommunicationsException异常:通信链接失败 最后一个成功发送到服务器的数据包是在0毫秒前

  • 我无法连接到MySQL数据库。它发生在更新MySQL和JDK之后。我添加了,但没有结果。这是我从eclipse中得到的一个例外: 不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45、5.6.26和5.7.6的要求,如果未设置explicit选项,默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“f

  • 我正在尝试使用jdbc连接到我的MS SQL2008数据库,如下所示,但它的给出错误 我的数据库名为,实例名为。请建议我如何提供数据库实例名称和数据库名称在URL。 上面写着 但是当我尝试用相同的用户名和密码从DB GUI登录时,它被登录了。想知道在jdbc设置中在哪里提供数据库实例的详细信息 我也试过用下面的dut不管用

  • 我无法使用客户机SquirrelSQL连接到MySQL。我以前曾设法连接到Oracle和Derby,但这次,我不知道我做错了什么。 我已经在我的Mac上安装了MySQL,以下步骤: > 要确保安装安全,请执行以下操作: 要创建新数据库: 要知道数据库存储在哪里: 创建一个表 在我遵循这些步骤之后: MySQL安装在/usr/local/ceral/MySQL/5.6.17下 在SQuirreL中,

  • 我编写了一些代码来在本地数据库中插入一个表,但我在堆栈跟踪中得到以下错误: 显然,我可能是错的,但这与我的时区或时区在MySQL或JDBC连接器中的设置方式有关。 这里是我的原始源代码:

  • 我在Spring是全新的,在Spring Hibernate无法连接到我的MySQL数据库。我得到 请求处理失败;嵌套异常为:org.springframework.transaction.CanNotCreateTransactionException: 无法打开事务的JPA EntityManager;嵌套异常为javax.persistence.persistenceException:or