안드로이드와 오라클 데이터베이스를 연결하는 가장 좋은 방법은 무엇입니까?
로컬 데이터베이스 애플리케이션을 업데이트하려면 애플리케이션 안드로이드에서 외부 오라클 데이터베이스의 데이터에 액세스해야 하는데 어떻게 하는 것이 최선인지 모르겠습니다.오라클 데이터베이스에 액세스하기 위해 웹 서비스를 만들어야 합니까 아니면 다른 간단한 방법이 있습니까?
감사해요.
적어도 두 가지 옵션이 있습니다.
Oracle Database Mobile Server를 사용합니다. (최상, 가장 안전한 방법)
JDBC Drivers(JDBC Drivers)를 다운로드하여 연결합니다. (권장되지 않음, 안전하지 않음 - 특히 공중 연결의 경우)
Android Application에서는 Oracle 데이터베이스에 직접 액세스할 수 없습니다.Oracle Database와 연결하려면 PHP, .net 또는 Java에서 웹 서비스를 만들어야 합니다.이 웹 서비스를 만든 후에는 응용 프로그램을 웹 서비스와 연결해야 합니다.이것이 Oracle Database와 연결하는 가장 간단한 방법입니다.
Android에서는 SQLiteDatabase와 직접 연결만 가능합니다.만약 당신이 MYSQL이나 Oracle과 연결하기를 원한다면 그것이 PHP에 있을 것인지 아닌지 당신이 웹 서비스를 만들어야 하는 것은 필요합니다.NET 또는 JSP..웹 서비스가 없으면 안드로이드에서 오라클을 사용할 수 없습니다.
JDBC 연결을 통해서도 가능하지만 정확한 예는 없었습니다...
안드로이드 앱과 오라클 db를 직접 연결하는 방법은 없다고 생각합니다. 이를 위해서는 php나 java 또는 .net 서비스를 웹 서비스해야 합니다. mephp에 따르면 안드로이드 앱과 외부 데이터베이스를 연결하는 가장 좋은 방법입니다. 이를 위해서는 호스트 하나의 php 페이지가 필요합니다.이 페이지는 오라클 데이터베이스와 직접 연결됩니다.안드로이드 앱과 php 페이지를 연결하려면 안드로이드 앱 개발에서 쉽게 할 수 있는 json 파싱이 필요합니다.
또한 오라클과 함께 SAP-Sybase(Middle wire)를 사용하는 강력한 3-Tier 아키텍처도 있습니다.JTDS 드라이버로 Sybase DB를 ORACLE에 연결합니다.그러면 안드로이드에서 생성 코드를 사용합니다.참고: SQL Server 및 Sybase 데이터베이스
웹 서비스를 작성하고 동일한 수준의 보안을 유지하는 것보다 간단한 방법이 있습니다. 3계층 아키텍처를 사용하는 Virtual JDBC Driver를 사용합니다. JDBC 코드는 HTTP를 통해 JDBC 코드(구성 및 보안)를 필터링하는 원격 서블릿으로 전송된 후 Oracle JDBC Driver로 전달됩니다.결과는 HTTP를 통해 다시 전송됩니다.이 기술을 사용하는 일부 무료 소프트웨어가 있습니다.그냥 구글 "Android JDBC Driver over HTTP".
LAN을 통한 Android와의 오라클 데이터베이스
일부 매니페스트 권한 부여
<permission
android:name="info.android.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="info.android.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
주 활동 클래스
package example.com.myapplication;
import java.sql.Connection;
import java.sql.DriverManager;
import android.os.StrictMode;
public class MainActivity extends AppCompatActivity {
private static final String DEFAULT_DRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DEFAULT_URL = "jdbc:oracle:thin:@192.168.0.1:1521:xe";
private static final String DEFAULT_USERNAME = "system";
private static final String DEFAULT_PASSWORD = "oracle";
private Connection connection;
@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);
}
TextView tv = (TextView) findViewById(R.id.hello);
try {
this.connection = createConnection();
e.Log("Connected");
Statement stmt=connection.createStatement();
ResultSet rs=stmt.executeQuery("select * from cat");
while(rs.next()) {
System.out.println("hello : " + rs.getString(1));
}
connection.close();
}
catch (Exception e) {
e.Log(""+e);
e.printStackTrace();
}
}
public static Connection createConnection(String driver, String url, String username, String password) throws ClassNotFoundException, SQLException {
Class.forName(driver);
return DriverManager.getConnection(url, username, password);
}
public static Connection createConnection() throws ClassNotFoundException, SQLException {
return createConnection(DEFAULT_DRIVER, DEFAULT_URL, DEFAULT_USERNAME, DEFAULT_PASSWORD);
}
}
전제 조건은 다음과 같습니다. 참고로 종속성 libojdbc14.jar를 추가할 필요는 없습니다. 단지 ojdbc14.jar를 당신의 JAVA_에 복사합니다.HOME jre -> lib -> ext & paste here ojdbc14.jar 그런 다음 cmd/terminal make any simple java program http://www.javatpoint.com/example-to-connect-to-the-oracle-database 을 통해 jdbc 연결을 수동으로 확인합니다.
언급URL : https://stackoverflow.com/questions/8894665/what-is-the-best-way-to-connect-between-android-and-oracle-database
'programing' 카테고리의 다른 글
| 대용량 My ISAM 테이블의 안정성은 얼마나 안정적입니까? (0) | 2023.11.05 |
|---|---|
| llvm.bc 파일을 사람이 읽을 수 있는 .ll 파일로 변환하는 중 (0) | 2023.11.05 |
| Java 프로그램에서 PowerShell 명령 실행 (0) | 2023.10.31 |
| Woocommerce 후크에서 함수 제거 (0) | 2023.10.31 |
| PowerShell 바로 가기에서 "기본" 색상으로 powershell.exe를 시작하려면 어떻게 해야 합니까? (0) | 2023.10.31 |