【问题标题】:Npgsql connection string, dynamic database queryingnpgsql 连接字符串,动态数据库查询
【发布时间】:2016-10-26 10:09:43
【问题描述】:

我有以下连接字符串:

NpgsqlConnection conn = new NpgsqlConnection($"Server={_server};Port={_port};User ID={_userid};Password={_password};Database={database}");

其中database 是从一组国家代码(GB、US、DE 等)中选择的,并且查询的是相应的数据库。

国家代码是从一系列确定latitudelongitude (UTM) 在地图上的位置的方法中选择的(即51.503471, -0.119586 将输出:GB,因为它在英国的边界框内)。 lat/lon 值由用户传入,因此每次查询时它们可能会有所不同,并且可能在不同的国家/地区(因此是不同的数据库)。

其余的连接数据保持不变,服务器/用户ID等不会改变,但是每次用户提交lat/lon时,被查询的数据库可能会改变。

有没有办法在Postgres/Npgsql 中没有指定database 的情况下保持连接打开,还是每次提交查询时我都必须重新打开(并在查询结束时关闭)连接?

【问题讨论】:

    标签: c# postgresql npgsql


    【解决方案1】:

    不,PostgreSQL 连接始终是与特定数据库的连接 - 您无法切换保留相同连接的数据库。

    将数据分成不同的数据库有什么特殊的原因吗?同一个数据库中的不同模式可以用于相同的目的,而不会强制您重新连接等。如果您必须使用不同的数据库,连接池可能会减轻不断关闭/打开连接的性能影响。

    【讨论】:

    • 感谢谢伊光临!有几年不同的年份(都是合理的),但我不应该将它们发布在公共领域。我会看看连接池,似乎它可能是唯一的选择。干杯!
    猜你喜欢
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    相关资源
    最近更新 更多