“动态生成连接字符串”通常指:在程序运行期根据环境、配置或用户输入拼出数据库连接字符串,而不是硬编码在代码里。下面按常见场景给你一些做法和示例。
SqlConnectionStringBuilder(最推荐)var builder = new SqlConnectionStringBuilder
{
DataSource = "localhost",
InitialCatalog = "TestDB",
UserID = "sa",
Password = "P@ssw0rd",
TrustServerCertificate = true
};
string connStr = builder.ConnectionString;
✅ 自动处理特殊字符
✅ 不易写错格式
{
"ConnectionStrings": {
"Default": "Server=.;Database=Test;User Id=sa;Password=xxx;"
}
}
var connStr = configuration.GetConnectionString("Default");
var baseConn = new SqlConnectionStringBuilder(baseConnStr)
{
InitialCatalog = tenantDbName
};
string conn = baseConn.ConnectionString;
常用于:多租户系统
String url = "jdbc:mysql://" + host + ":" + port + "/" + db;
String conn = url + "?user=" + user + "&password=" + pwd;
✅ 更推荐用连接池(HikariCP / Druid)
HikariConfig config = new HikariConfig();
config.setJdbcUrl(url);
config.setUsername(user);
config.setPassword(pwd);
from sqlalchemy import create_engine
conn_str = f"mysql+pymysql://{user}:{pwd}@{host}:{port}/{db}"
engine = create_engine(conn_str)
DB_HOST=localhost
DB_USER=root
DB_PASS=123456
DB_NAME=test
import os
conn = f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASS')}@{os.getenv('DB_HOST')}/{os.getenv('DB_NAME')}"
✅ 适合 Docker / K8s
如果你能告诉我:
我可以给你更贴合的示例代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。