sql_conn
使用 JDBC 和安全连接池的通用生产就绪 Flutter SQL 连接器。
sql_conn 是一个用于将 Flutter Android 应用程序连接到 SQL Server 的插件。
{"sdk":"flutter"}{"sdk":"flutter"}^26.1.7^3.0.0以下为英文项目原文快照,最新内容请访问 GitHub。
sql_conn is a production-ready Flutter plugin that allows Android applications to connect directly to SQL SERVER databases using JDBC.
It provides a clean, type-safe, null-safe Dart API powered by Pigeon, and a high-performance Android backend.
This plugin is designed for LAN / internal network / enterprise / industrial use-cases where direct database connectivity from a mobile device is required.
| Platform | Support |
|---|---|
| Android | ✅ Yes |
| iOS | 🚧 Under construction |
| Web | 💭 Planning |
| Windows | 🚫 No |
| MacOs | 🚫 No |
Direct database connections from mobile apps should only be used in trusted or internal networks.
Add to pubspec.yaml:
dependencies:
sql_conn: ^2.0.0
await SqlConn.connect(
connectionId: "mainDB",
host: "192.168.1.10",
port: 1433,
database: "MyDatabase",
username: "admin",
password: "Password@123",
);
final rows = await SqlConn.read(
"mainDB",
"SELECT * FROM users WHERE role = ?",
params: ["admin"],
);
print(rows);
final count = await SqlConn.write(
"mainDB",
"UPDATE users SET active = ? WHERE id = ?",
params: [true, 101],
);
print("Rows affected: $count");
final result = await SqlConn.callProcedure(
"mainDB",
"sp_generate_report",
params: [2026, "JAN"],
);
await SqlConn.executeScript(
"mainDB",
"""
CREATE TABLE logs(id INT, message VARCHAR(255));
CREATE INDEX idx_logs ON logs(id);
""",
);
await SqlConn.disconnect("mainDB");
await SqlConn.connect(connectionId: "db1", dbType: DatabaseType.sqlServer, ...);
await SqlConn.connect(connectionId: "db2", dbType: DatabaseType.postgres, ...);
final a = await SqlConn.read("db1", "SELECT * FROM table1");
final b = await SqlConn.read("db2", "SELECT * FROM table2");
await SqlConn.connect(
connectionId: "legacy",
host: "",
port: 0,
database: "",
username: "sysdba",
password: "masterkey",
customJdbcUrl: "jdbc:firebirdsql://192.168.1.9/employee",
);
sql_conn is a stateless service API. You can integrate it with any state manager: