2016-10-26 3 views
0

나는 다음과 같은 연결 문자열이 있습니다 database이 countrycodes (GB, 미국, DE 등)의 수집 및 해당 데이터베이스에서 선택Npgsql 연결 문자열, 동적 데이터베이스

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

가 쿼리를 .

countryCode와는 결정 방법의 일련의 선택 위치를지도에 자신의 latitudelongitude (UTM) 거짓말 (즉 51.503471, -0.119586 출력됩니다 : GB는 영국의 경계 상자 안에 있기 때문에). lat/lon 값은 사용자가 전달하므로 각 쿼리마다 다를 수 있으며 다른 국가 (따라서 다른 데이터베이스)에있을 수도 있습니다.

나머지 연결 데이터는 동일하게 유지되지만 서버/사용자 ID 등은 변경되지 않지만 사용자가 lat/lon을 제출할 때마다 쿼리되는 데이터베이스가 변경 될 수 있습니다.

database을 지정하지 않고 연결을 유지하는 방법이 있습니까? 아니면 쿼리를 제출할 때마다 연결을 다시 열고 닫아야합니다.

답변

1

아니요, PostgreSQL 연결은 항상 특정 데이터베이스에 대한 연결입니다. 동일한 연결을 유지하는 데이터베이스는 전환 할 수 없습니다.

데이터를 다른 데이터베이스로 분리해야하는 특별한 이유가 있습니까? 동일한 데이터베이스 내의 개별 스키마는 다시 연결하지 않고 동일한 목적을 수행 할 수 있습니다. 다른 데이터베이스를 사용해야하는 경우 연결 풀링은 연결을 항상 닫거나 열 때 성능에 미치는 영향을 완화 할 수 있습니다.

+0

Shay에 들러 주셔서 감사합니다! 몇 년이 지났지 만 (모두 정당화되었습니다) 공개 도메인에 게시해서는 안됩니다. 연결 풀링에 대해 살펴 보겠습니다. 옵션으로 만 가능할 수도 있습니다. 건배! –