Bu hata bağlantıyla ilgili değil, sanırım min sdk versiyonunu 26 olarak belirlemenizi istiyor build.gradle da.
Size tavsiyem öncelikle bir excel dosyası açıp sql ile bağlantınız olduğunu doğrulayın; Veri > verileri al > veritabanından > sql yoluyla.
Veritabanına sorunsuz bir bağlantınız olduğunu doğruladıktan sonra ilk olarak jdbc driverını projeye dahil edin;
build.gradle da örneğin;
dependencies {
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'net.sourceforge.jtds:jtds:1.3.1'
}
sonrasında internet için permission vererek doğrudan mainactivity içinde bağlantı stringini yazın.
Örneğin;
package com.sql.conn;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.StrictMode;
import android.widget.Toast;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MainActivity extends AppCompatActivity {
private static final String IP = "192.168.1.123";
private static final String PORT = "1433";
private static final String DATABASE = "dbninismi";
private static final String USERNAME = "sa";
private static final String PASSWORD = "saninsifresi*";
private static final String URL = "jdbc:jtds:sqlserver://" + IP + ":" + PORT + "/" + DATABASE;
private Connection connection = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.INTERNET}, PackageManager.PERMISSION_GRANTED);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
connectToDatabase();
}
private void connectToDatabase() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
Toast.makeText(MainActivity.this, "Bağlantı başarılı", Toast.LENGTH_SHORT).show();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "Bağlantı başarısız: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}Bu çok temel bir bağlantı yapısı. Basit test işlemlerini vb bu şekilde yapabilirsiniz ama üretim için kullanılacaksa kodun hem güvenlik hemde performans için geliştirilmesi gerekir.