美文网首页
Android使用JDBC连接Oracle数据库

Android使用JDBC连接Oracle数据库

作者: 天天小志 | 来源:发表于2022-12-23 17:08 被阅读0次

此文章介绍Android应用中如何连接服务器上的Oracle数据库。

注意:Oracle和sqlserver不同在于,操作数据库的SQL语句,对于表的操作要加上数据库.表名,如要查询TEST数据库下的T_USER_TEMP表,应写成select * from TEST.T_USER_TEMP

1. 下载jar包

Android使用官网下载的版本,均无法匹配,一直报错缺少类,最终使用了网上的一个版本,连接可正常(10.2.0.1.0,官网找不到此版本了,应该是比较旧了)

2. 引入JDTS到工程中

  • 复制ojdbc14.jar文件到app/libs/jtds-1.3.1.jar中;
  • 右键ojdbc14.jar,选择Add As Library,将jar包引入到工程中;

3. 连接Oracle

  • 定义连接url
    private val dbConnectUrl = "jdbc:oracle:thin:@IP地址:端口号:服务名"
    
  • 定义数据库连接用户名和密码
    private val user = "test"
    private val password = "123456"
    
  • 连接数据库
    Class.forName ("oracle.jdbc.driver.OracleDriver");//在最初的时候加载,比如onCreate方法中
    runBlocking(Dispatchers.IO) { 
        con = DriverManager.getConnection(dbConnectUrl, user, password)//需要执行在非主线程中
    }
    

4. 增

使用executeUpdate进行新增,并接收受影响行数。
注意:不可以在主线程执行。

val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
   val stmt = con?.createStatement()
   val sql = "INSERT INTO TEST.T_USER_TEMP VALUES(100,'旺旺',15)"
   try {
       val result = stmt?.executeUpdate(sql) as Int
       result > 0
   } catch (e: Exception) {
       false
   }
}
sbContent.append("插入数据结果===")
           .append(result.await())
}

5. 删

使用executeUpdate进行删除,并接收受影响行数。
注意:不可以在主线程执行。

val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
   val stmt = con?.createStatement()
   val sql = "delete from TEST.T_USER_TEMP where Name='旺旺'"
   try {
       val result = stmt?.executeUpdate(sql) as Int
       result > 0
   } catch (e: Exception) {
       false
   }
}
sbContent.append("删除数据结果===")
   .append(result.await())
}

6. 改

使用executeUpdate进行修改,并接收受影响行数。
注意:不可以在主线程执行。

val sbContent = StringBuilder()
runBlocking {
val result = async(Dispatchers.IO) {
   val stmt = con?.createStatement()
   val sql = "UPDATE TEST.T_USER_TEMP SET AGE=20 where Name='旺旺'"
   try {
       val result = stmt?.executeUpdate(sql) as Int
       result > 0
   } catch (e: SQLException) {
       false
   }
}
sbContent.append("更新数据结果===")
   .append(result.await())
}

7. 查

使用executeQuery查询数据,并接收受影响行数。
注意:不可以在主线程执行。

val sbContent = StringBuilder()
runBlocking {
    val result = async(Dispatchers.IO) {
        val stmt = con?.createStatement()
                val sql = "SELECT * FROM TEST.T_USER_TEMP"
                val result = stmt?.executeQuery(sql)
                while (result?.next() == true) {
                    //注意,索引从1开始,索引1对应表中的第一列内容
                    sbContent.append(result.getString(1)).append(",").append(result.getString(2))
                        .append(",\n")
                }
        sbContent.toString()
    }
    result.await()
    // 输出查询内容 
}

8. 附

源码:点击下载

相关文章

  • oracle之jdbc连接oracle

    转载链接 JDBC连接ORACLE的三种URL格式 oracle之jdbc连接oracle 格式1 使用SID 的...

  • MySQL、Oracle、Sql Server数据库JDBC的连

    MySQL、Oracle、Sql Server数据库JDBC的连接方式 MySQL、Oracle、Sql Serv...

  • Android使用JDBC连接Oracle数据库

    此文章介绍Android应用中如何连接服务器上的Oracle数据库。注意:Oracle和sqlserver不同在于...

  • Oracle - java 连接(六)

    一、使用jdbc_odbc桥连接方式 TestOra.java 注:配置数据源 二、使用jdbc连接Oracle ...

  • Java-JDBC

    JDBC让java程序可以连接任何提供了JDBC驱动的数据库(Mysql/Oracle/SOL server)。 ...

  • JDBC数据库的连接池

    一 平时使用jdbc弊端 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的...

  • 安卓连接数据库

    安卓连接数据库[练习] Android入门案例(二)——JDBC连接MySql数据库实现登录 Android入门案...

  • JDBC增删改查0602

    JDBC主要是用于关系型数据库(Mysql、Oracle、DB2)连接jdbc的快速入门程序 :① 导入jar包 ...

  • Java MySQL连接

    JDBC简述 Java如何连接数据库呢? 答案是:Java使用JDBC连接数据库。 那么JDBC又是什么? Jav...

  • JDBC数据库连接

    JDBC数据库连接 安装相应的驱动程序后,现在是时候来学习使用JDBC建立数据库连接了。 建立JDBC连接所涉及的...

网友评论

      本文标题:Android使用JDBC连接Oracle数据库

      本文链接:https://www.haomeiwen.com/subject/lmzbqdtx.html