2013-06-18 3 views
3

Firebird에서 직접 wifi 연결로 Android를 만들었습니다. 때때로 나는이 오류가 발생합니다 : 다른 사람이이 메시지를 수신 Jaybird 및 Android를 사용하는 중에 오류가 발생했습니다.

FATAL EXCEPTION: AsyncTask #4 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.FutureTask.setException(FutureTask.java:125) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1019) Caused by: java.lang.NullPointerException at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscDatabaseInfo(AbstractJavaGDSImpl.java:518) at org.firebirdsql.jdbc.AbstractConnection.isValid(AbstractConnection.java:594) at br.com.controlemesa.banco.DBFBConnect.disconnect(DBFBConnect.java:61) at br.com.controlemesa.banco.DBFBConnect.spListaMesas(DBFBConnect.java:170) at br.com.controlemesa.activities.MesasActivity$PopulaGridMesas.doInBackground(MesasActivity.java:193) at br.com.controlemesa.activities.MesasActivity$PopulaGridMesas.doInBackground(MesasActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) ... 4 more

? 이 문제를 어떻게 방지 할 수 있습니까?

답변

2

코드를 보면 연결이 이미 닫힌 경우이 NullPointerException이 발생할 수 있습니다. Jaybird 추적기에 JDBC-313 호를 발행했습니다. 나는 버전 2.2.4에 대한 '정상적인'Jaybird에서 그것을 고칠 것이다. 일반적으로 Android Jaybird project의 관리자는 그 직후 새 버전을 릴리스 할 것입니다.

정확한 코드를 알지 못해 어떤 해결책이 있는지 확실하지 않습니다. 귀하의 stacktraces 목록 DBFBConnect.disconnect, 나는 당신이 연결을 끊고 싶다고 가정합니다. 이 경우 연결의 유효성을 검사하지 말고 연결시 close()으로 전화하면됩니다.

+0

감사합니다. – user2495573

관련 문제