[SQL] SqlConnectionStringBuilder를 사용하여 연결 문자열에서 데이터베이스 이름을 얻는 방법
SQLSqlConnectionStringBuilder를 사용하여 연결 문자열에서 데이터베이스 이름을 얻는 방법
나는 문자열 조작을 사용하여 연결 문자열을 분할하고 UID 및 암호 서버, 데이터베이스, 싶어하지 않았다.
나는 다음과 같은 링크를 읽고 허용 대답을 읽고, 그 get 및 사용자 ID와 연결 문자열에서 암호를 알아,하지만 데이터베이스 이름에 대한 가장 좋은 방법은 발견?
연결 문자열에서 사용자 이름과 암호를 얻을 수있는 올바른 방법?
어떻게 SqlConnectionStringBuilder를 사용하여 연결 문자열에서 데이터베이스 이름을 얻을 수 있습니다. (데이터 소스는 서버 이름이 무엇입니까?)
해결법
-
==============================
1.InitialCatalog 속성에 대한 MSDN 문서를 참조하십시오 :
InitialCatalog 속성에 대한 MSDN 문서를 참조하십시오 :
-
==============================
2.당신이 필요한 경우 추상에 연결 문자열 객체를 (적절한 네임 스페이스 내에서) 공급자 별의 ConnectionStringBuilder 클래스를 사용하거나 System.Data.Common.DbConnectionStringBuilder 수 있습니다. 당신은 당신이 찾고있는 정보를 지정하는 데 사용 공급자 별 키워드를 알아야 할 것입니다,하지만 SQL 서버 예를 들어, 당신은이 두 가지 중 하나 할 수있다 :
당신이 필요한 경우 추상에 연결 문자열 객체를 (적절한 네임 스페이스 내에서) 공급자 별의 ConnectionStringBuilder 클래스를 사용하거나 System.Data.Common.DbConnectionStringBuilder 수 있습니다. 당신은 당신이 찾고있는 정보를 지정하는 데 사용 공급자 별 키워드를 알아야 할 것입니다,하지만 SQL 서버 예를 들어, 당신은이 두 가지 중 하나 할 수있다 :
System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionString); string server = builder.DataSource; string database = builder.InitialCatalog;
또는
System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder(); builder.ConnectionString = connectionString; string server = builder["Data Source"] as string; string database = builder["Initial Catalog"] as string;
-
==============================
3.훨씬 간단한 대안은 연결 개체 자체에서 정보를 얻을 수 있습니다. 예를 들면 :
훨씬 간단한 대안은 연결 개체 자체에서 정보를 얻을 수 있습니다. 예를 들면 :
IDbConnection connection = new SqlConnection(connectionString); var dbName = connection.Database;
마찬가지로 당신은 연결 개체에서뿐만 아니라 서버 이름을 얻을 수 있습니다.
DbConnection connection = new SqlConnection(connectionString); var server = connection.DataSource;
-
==============================
4.
string connectString = "Data Source=(local);" + "Integrated Security=true"; SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString); Console.WriteLine("builder.InitialCatalog = " + builder.InitialCatalog);
-
==============================
5.이것은 당신에게 XACT를 제공합니다;
이것은 당신에게 XACT를 제공합니다;
System.Data.SqlClient.SqlConnectionStringBuilder connBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder(); connBuilder.ConnectionString = connectionString; string server = connBuilder.DataSource; //-> this gives you the Server name. string database = connBuilder.InitialCatalog; //-> this gives you the Db name.
-
==============================
6.데이터베이스 이름은 SqlConnectionStringBuilder.InitialCatalog 속성의 값입니다.
데이터베이스 이름은 SqlConnectionStringBuilder.InitialCatalog 속성의 값입니다.
-
==============================
7.당신은 InitialCatalog 건물 또는 빌더 [ "데이터베이스"]으로 잘 작동 할 수 있습니다. 나는 다른 케이스를 테스트하고 그것은 여전히 작동합니다.
당신은 InitialCatalog 건물 또는 빌더 [ "데이터베이스"]으로 잘 작동 할 수 있습니다. 나는 다른 케이스를 테스트하고 그것은 여전히 작동합니다.
from https://stackoverflow.com/questions/10550541/how-to-get-database-name-from-connection-string-using-sqlconnectionstringbuilder by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 C # .NET 코드에서 저장 프로 시저는 SQL에 널 변수를 전달하는 방법 (0) | 2020.06.05 |
---|---|
[SQL] ORA-00972 너무 오래 별칭 열 이름 식별자 (0) | 2020.06.05 |
[SQL] 가입 INNER와 DELETE SQL은 (0) | 2020.06.05 |
[SQL] 3 개 테이블과 조인 Laravel (0) | 2020.06.05 |
[SQL] 오류 코드 :와 1055 호환되지 않는 sql_mode = ONLY_FULL_GROUP_BY (0) | 2020.06.05 |