2010-12-15 48 views
16

Có ai đã thử kết nối JDBC trong Android vì trong Android 2.3 JDBC được hỗ trợ hay không.Kết nối JDBC trong Android

Tôi phải kết nối với Mysql mà không cần dịch vụ web.

Tôi đã thực hiện ứng dụng nhưng nó mang lại cho tôi lỗi

public class MysqlConnect extends Activity{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
System.out.println("MySQL Connect Example."); 
Connection conn = null; 
String url = "jdbc:mysql://localhost:3306/"; 
String dbName = "jdbctutorial"; 
String driver = "com.mysql.jdbc.Driver"; 
String userName = "root"; 
String password = "root"; 
try { 
    Class.forName(driver).newInstance(); 
    conn = DriverManager.getConnection(url+dbName,userName,password); 
    System.out.println("Connected to the database"); 
    conn.close(); 
    System.out.println("Disconnected from database"); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
} 
} 

tôi đang nhận được lỗi trong getConnection. lỗi giống như java.lang.VerifyError: com.mysql.jdbc.MysqlIO

Cảm ơn trước.

+0

bạn có thể đăng theo dõi ngăn xếp cho việc này không? $ – njzk2

+0

đọc câu trả lời của tôi là bạn sẽ không bị đau đớn. – Behnam

Trả lời

3

VerifyError có thể xảy ra do chữ ký của lớp sai.

Kiểm tra ở đây:

JDBC đã được bao gồm trong phiên bản trước cũng - những vấn đề quan trọng là để bao gồm các lớp lái xe thích hợp cho cơ sở dữ liệu của bạn và chắc chắn rằng nó có thể hoạt động với thời gian chạy Android.

+0

Xin chào, Cảm ơn bạn đã trả lời. Tôi đã thêm mysql-connector-java vào ứng dụng của mình. Có bất kỳ ví dụ đó là thành công kết nối với mysql thông qua jdbc? – djk

+0

Bạn có chạy tệp jar này thông qua chương trình "dx" không? –

+1

dx là không bắt buộc. Khi bạn thêm một bình bên ngoài, nó sẽ được thực hiện tự động. – Monstieur

4

Tôi đã kết nối thành công với MySQL, Oracle và SQL Server trực tiếp từ thiết bị Android bằng JDBC và trình điều khiển loại 4 thông thường được sử dụng cho các ứng dụng Java trên máy tính để bàn cho các cơ sở dữ liệu tương ứng.

Chỉ cần tìm kiếm mẫu JDBC trên máy tính để bàn. Cùng một mã hoạt động mà không có bất kỳ sửa đổi nào trên Android. Đảm bảo bạn thêm tệp .jar của trình điều khiển vào dự án trong Eclipse. Trình biên dịch sẽ tự động chuyển đổi trình điều khiển .jar thành gói tương thích Dalvik.

+3

Xin chào, bạn có thể giải thích ngắn gọn không. coz rất nhiều người cố gắng để làm điều này, nhưng không nhận được kết quả thành công. nếu có thể, vui lòng chỉnh sửa câu trả lời của bạn với một số ảnh chụp nhanh mã, mà lọ cần thiết để xây dựng ... – milind

+2

http: // pastebin.com/K42jvLJu Chỉ cần thêm trình điều khiển Loại 4 tương ứng như ojdbc14.jar vào dự án dưới dạng một JAR bên ngoài. – Monstieur

+0

Tôi vẫn có cùng VerifyError. Sử dụng ADT v22 và nền tảng Android 19. Tôi đã bao gồm ojdbc14 (đã thử cả hai có và không có jtds.jar). 3 ngày đau bây giờ ... bất kỳ sự giúp đỡ nào @Kurian –

0

Tôi gặp sự cố tương tự, hãy thử chạy mã kết nối từ chuỗi mới không chính và thay đổi địa chỉ máy chủ lưu trữ cục bộ.

1

tôi đã cùng một vấn đề, có hai điều giải quyết vấn đề của tôi:

  1. Bạn phải nhớ để đặt mã kết nối JDBC của bạn trong một AsyncTask, khác khôn ngoan bạn sẽ đốt cháy BURN GHI!

  2. KHÔNG nhầm lẫn quyền "INTERNET" cho quyền "sử dụng INTERNET". Bạn cần thứ hai để thực hiện JDBC.

Nếu không giải pháp nào ở trên giải quyết được vấn đề của bạn, hãy kiểm tra dòng logcat bắt đầu bằng "gây ra bởi:" trong dòng cảnh báo của bạn. Googling dòng đó giúp bạn gần gũi với việc tìm kiếm một giải pháp.

Các vấn đề liên quan