无法使用 JCDB 将 Android 应用程序连接到 Oracle 数据库

cannot connect an android appplication to oracle database using jcdb

提问人:kazutoodan game 提问时间:11/16/2023 更新时间:11/16/2023 访问量:26

问:

我厌倦了使用 JDBC 连接我的 android 和数据库,但我得到了 eror java.sql.SQLException:Io 异常:大小数据单元 (SDU) 不匹配,我已经将 jar 文件放入库中,在这里输入图像描述我认为它应该连接到能够显示数据库的数据库

package com.example.tryconnectdatabase;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle; import android.os.StrictMode; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;

public class MainActivity extends AppCompatActivity {

private TextView textView;

private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String URL = "jdbc:oracle:thin:@myipaddress:1521:XE";

private static final String port = "1521";
private static final String USERNAME = "mars72";
private static final String PASSWORD = "mars72";

private String debug = "";

private Connection connection;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = findViewById(R.id.textView);
    StrictMode.ThreadPolicy threadPolicy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(threadPolicy);
}

public void buttonConnectToOracleDB(View view) {
    try {
        Class.forName(DRIVER);
        this.connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        Toast.makeText(this, "CONNECTED", Toast.LENGTH_LONG).show();

        Statement statement = connection.createStatement();
        StringBuffer stringBuffer = new StringBuffer();
        ResultSet resultSet = statement.executeQuery("select count(*)" +
                "from tms_full_report a where staff_id = '081049' and in_stat = 'Late IN' and " +
                "a.day_mm = to_char(sysdate,'MM') and " +
                "a.day_yyyy = to_char(sysdate,'YYYY')" +
                "  order by department_name,  staff_name, day_date");
        while (resultSet.next()) {
            stringBuffer.append(resultSet.getString(1) + "\n");
        }
        textView.setText(stringBuffer.toString());
        connection.close();
    } catch (Exception e) {
        textView.setText(e.toString());
        Toast.makeText(this, "Not CONNECTED", Toast.LENGTH_LONG).show();
        debug = e.toString();
        Log.v("debug=", debug);
    }
}

}

Android 手机

评论

1赞 Morrison Chang 11/16/2023
请阅读:JDBC 与 Web Service for Android不要将图像用于错误/日志/代码
0赞 kazutoodan game 11/16/2023
我得到了这个错误 java.sql.SQLException:Io 异常:大小数据单元 (SDU) 不匹配
0赞 Morrison Chang 11/16/2023
可能的重复项:java.sql.SQLException:Io 异常:大小数据单元 (SDU) 不匹配
0赞 kazutoodan game 11/16/2023
已经测试过了,但结果还是一样的。
0赞 Morrison Chang 11/16/2023
编辑您的帖子,包括您连接到的数据库类型(Oracle、MySQL、Postgress)的详细信息,该数据库在哪个操作系统版本(Windows/Linux/Mac)上运行,并解释为什么不使用 Web 服务。请注意 Android != Java SE,因此最近的 JAR 可能无法正常工作。

答: 暂无答案