Подключение базы данных MySQL к моему приложению AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Подключение базы данных MySQL к моему приложению Android

Сообщение Anonymous »

private void testDatabaseConnection(String ip, String port, String username, String password, String dbName) {
new Thread(() -> {
String connectionUrl = "jdbc:sqlserver://" + ip + ":" + port + ";"
+ "databaseName=" + dbName + ";"
+ "user=" + username + ";"
+ "password=" + password + ";"
+ "encrypt=false;"
+ "loginTimeout=10;";

Log.d(TAG, "Testing SQL Server connection with URL:");
Log.d(TAG, connectionUrl.replace(password, "******"));

try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Log.d(TAG, "✅ JDBC Driver class loaded.");

// Log JDBC driver version
java.sql.Driver driver = java.sql.DriverManager.getDriver(connectionUrl);
Log.i(TAG, "Microsoft JDBC Driver version: " +
driver.getMajorVersion() + "." + driver.getMinorVersion());

try (Connection connection = DriverManager.getConnection(connectionUrl)) {
if (connection != null && !connection.isClosed()) {
Log.i(TAG, "✅ SQL Server connection established successfully.");
runOnUiThread(() -> Toast.makeText(this, "Connection successful!", Toast.LENGTH_LONG).show());
} else {
Log.w(TAG, "⚠️ Connection object is null or closed.");
runOnUiThread(() -> Toast.makeText(this, "Connection failed: unknown reason.", Toast.LENGTH_LONG).show());
}
}
} catch (ClassNotFoundException e) {
Log.e(TAG, "❌ JDBC driver not found.", e);
runOnUiThread(() -> Toast.makeText(this, "JDBC driver not found.", Toast.LENGTH_LONG).show());
} catch (SQLException e) {
Log.e(TAG, "❌ SQL Server connection failed: " + e.getMessage(), e);
runOnUiThread(() -> Toast.makeText(this, "Connection failed: " + e.getMessage(), Toast.LENGTH_LONG).show());
} catch (Exception e) {
Log.e(TAG, "❌ Unexpected error during SQL connection test", e);
runOnUiThread(() -> Toast.makeText(this, "Unexpected error: " + e.getMessage(), Toast.LENGTH_LONG).show());
}
}).start();
}
< /code>
Я пытаюсь подключить свое приложение для очередей Android к моей базе данных SQL, однако я продолжал получать это сообщение об ошибке из-за стека SSL на основе Android < /p>
Это просто прямое и простое приложение и не требуется тип API для развертывания, так как это тестовое приложение.FATAL EXCEPTION: main
Process: com.k.blancia.dev.qmsandroid, PID: 31970
java.lang.AssertionError: numMsgsRcvd:1 should be less than numMsgsSent:1
at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:6303)
at com.microsoft.sqlserver.jdbc.TDSReader.nextPacket(IOBuffer.java:6269)
at com.microsoft.sqlserver.jdbc.TDSReader.ensurePayload(IOBuffer.java:6247)
at com.microsoft.sqlserver.jdbc.TDSReader.readBytes(IOBuffer.java:6531)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:833)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:821)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:1003)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:991)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:945)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:909)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.access$100(ConscryptEngineSocket.java:731)
at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:241)
at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:220)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1753)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2022)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:580)
at java.sql.DriverManager.getConnection(DriverManager.java:218)
at com.k.blancia.dev.qmsandroid.SQLServerHandler.connectToDatabase(SQLServerHandler.java:24)
at com.k.blancia.dev.qmsandroid.MainActivity.testSQLServerConnection(MainActivity.java:74)
at com.k.blancia.dev.qmsandroid.MainActivity.lambda$onCreate$0$com-k-blancia-dev-qmsandroid-MainActivity(MainActivity.java:45)
at com.k.blancia.dev.qmsandroid.MainActivity$$ExternalSyntheticLambda1.onClick(D8$$SyntheticClass:0)
at android.view.View.performClick(View.java:7471)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1218)
at android.view.View.performClickInternal(View.java:7444)
at android.view.View.access$3600(View.java:813)
at android.view.View$PerformClick.run(View.java:28523)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7705)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)
< /code>
Я ищу работу, чтобы обойти эту ошибку.
SQL Server сеть>

Подробнее здесь: https://stackoverflow.com/questions/796 ... pplication
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»