You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用连接PostgreSQL数据库报错:找不到合适驱动

解决Android连接ElephantSQL PostgreSQL实例的"No suitable driver found"错误

核心问题与修正步骤

  • 修正JDBC URL协议:PostgreSQL官方JDBC驱动要求URL前缀为jdbc:postgresql://,你当前代码中所有URL都使用了错误的jdbc:postgres://,这是驱动无法识别连接的关键原因。
  • 添加正确的JDBC驱动依赖:在Android项目的app/build.gradle文件的dependencies块中引入PostgreSQL驱动:
    implementation 'org.postgresql:postgresql:42.6.0' // 可替换为最新稳定版本
    
  • 声明网络权限:在AndroidManifest.xml中添加网络访问权限,否则应用无法建立远程连接:
    <uses-permission android:name="android.permission.INTERNET" />
    

修正后的连接代码示例

以第一种连接方式为例,修正URL并简化逻辑:

val url = "jdbc:postgresql://cvzsfhiy.db.elephantsql.com:5432/cvzsfhiy" // 修正协议,添加默认端口5432
val user = "cvzsfhiy"
val password = "你的实际密码"

var conn1: Connection? = null

button.setOnClickListener {
    try {
        // JDBC4+ 可省略Class.forName,但Android环境下保留也可正常运行
        Class.forName("org.postgresql.Driver")
        conn1 = DriverManager.getConnection(url, user, password)
        conn1?.let {
            println("Connected to the database test1")
            tv.text = "Connection1"
        }
    } catch (ex: SQLException) {
        tv.text = "数据库连接错误:${ex.message}"
        ex.printStackTrace()
    } catch (e: ClassNotFoundException) {
        tv.text = "未找到PostgreSQL驱动类"
        e.printStackTrace()
    }
}

额外注意事项

  • 不要在Android客户端直接暴露数据库用户名和密码,建议通过后端API中转数据库操作,避免泄露敏感信息。
  • 验证ElephantSQL实例的访问规则:部分实例可能限制IP访问,需确保应用所在网络IP已被允许访问(免费实例通常默认开放所有IP)。

内容的提问来源于stack exchange,提问作者Rometo Fernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:37:26