[英]Problem with mapping entity in Spring Boot for Oracle 19c Database
[英]Can't connect Android Studio with Oracle Database 19c
我最近嘗試通過 ojdbc 驅動程序將 Android Studio 與 OracleDB 連接,但沒有成功。
我在 Windows10 上使用 ojdbc8.jar、Oracle 數據庫 19c 和 jdk1.8.0_241。
我嘗試在 Intellij 中使用相同的代碼和組件做完全相同的事情,一切順利。
當我嘗試連接到數據庫時,我收到以下錯誤: see_error_print "java.lang.NoClassDefFoundError: Failed resolution of: Ljava/sql/DriverAction;" 在 Class.forName 行中。
我已經安裝了 Android 28 並且我的 gradle 版本是 3.6.2 .. 我試圖清理項目,並使緩存/重新啟動無效,但似乎沒有任何效果。
事實上,在 java.sql 的 Android28 (Sdk) 中,確實不存在丟失的文件,但存在於 jdk 中。
我很感激我能得到的任何幫助,謝謝。 PS:,英語不是我的母語。 抱歉,如果有任何錯誤。
這是我使用的代碼:
package com.lamtias.isplit.ActivityLogin;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import com.lamtias.isplit.Logic.ISplit;
import com.lamtias.isplit.R;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class SignUpActivity extends AppCompatActivity {
private ISplit iSplit;
private static final String DEFAULT_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DEFAULT_URL = "jdbc:oracle:thin:@localhost:1521:ISplitDB";
private static final String DEFAULT_USERNAME = "c##marcia";
private static final String DEFAULT_PASSWORD = "marcia";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
JDBCexample(DEFAULT_URL, DEFAULT_USERNAME, DEFAULT_PASSWORD);
}
public static void JDBCexample(String dbid, String userid, String passwd)
{
try {
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:ISplitDB", userid, passwd);
if(conn!=null)
System.out.println ("oiiiiiiiiiiiiiiiiiiiiiiiiiiii");
else
System.out.println ("oeeeeeeeeeeeeeeeeeeeeeeeeeeee");
Statement stmt = conn.createStatement();
//stmt.executeUpdate( "insert into users values ('1', 'Perryridge')");
stmt.close();
conn.close();
}
catch (SQLException sqle) {
System.out.println("SQLException : " + sqle);
} catch (Exception e){
System.out.println("Exception : " + e);
}
}
}
I have fixed the same problem using ojdbc8.jar from Oracle OJDBC 18.3: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.