문제

SQL Server (Standard Edition)가 설치된 경우 코드를 통해 서버 이름을 얻는 방법.

SQL Server를 연결하기 위해 연결 문자열을 작성하는 동안 서버 이름을 전달합니다. 코드를 통해이 값을 검색 할 수 있습니까?

string sqlConnectionString = string.Format(
"user id={0};password={1};server={2};Trusted_Connection=no;database=TestDB;
connection timeout={3}",
dirDBinfo.UserName, dirDBinfo.Password, "ServerName", dirDBinfo.TimeOut);
도움이 되었습니까?

해결책

나는 당신이 원하는 것을 이해하는지 잘 모르겠습니다.

이미 연결 문자열이 있고 다른 곳에서 사용하기 위해 서버 이름을 추출하려고하는 경우 다음과 같이 리버스 엔지니어링 할 수 있습니다.

var parser = new SqlConnectionStringBuilder(connectionString);
var serverName = parser.DataSource;

연결 문자열을 처음으로 구성하는 경우 :

  1. 클라이언트 코드가 실행중인 컴퓨터의 SQL 서버에 연결하려는 경우 (local) 서버 이름의 경우. SQL 서버에 인스턴스 이름이있는 경우 다음과 같이 지정하십시오. (local)\myinstancename.
  2. 어떤 서버에 연결 해야하는지 미리 알지 못하면 다른 곳에서 해당 정보를 얻는 것은 귀하에게 달려 있습니다.

다른 팁

이 연결에서 select @@ servername을 실행할 수 없습니까?

서버가 로컬 컴퓨터에 있습니까?
그렇다면 서버 이름을 설정하십시오 localhost.
그렇지 않다면 sqldatasourceenumerator를 사용하십시오.


또한 연결 문자열을 구축하는 대신 사용합니다 String.Format, 당신은 a를 사용해야합니다 sqlconnectionstringBuilder. 이것은 세미콜론으로 값을 처리합니다.

예를 들어:

var builder = new SqlConnectionStringBuilder();

builder.UserID = dirDBinfo.UserName;
builder.Password = dirDBinfo.Password;
builder.Server= "localhost";
builder.UserID = dirDBinfo.UserName;
builder["Trusted_Connection"] = "no";
builder.Database = "TestDB"
builder.ConnectTimeout = dirDBinfo.TimeOut;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top