서버 목록 및 데이터베이스 목록 가져오기 VS Add Connection 기능
2717 단어 Connection
1. 서버 목록을 가져옵니다.
VS에는 SqlDataSourceEnumerator 클래스가 제공되며 이름은 System입니다.Data.Sql, GetDataSource () 메서드를 직접 호출하면 서버 목록의 DataTable을 얻을 수 있습니다.
코드:
private void GetServerName()
{
List<string> serverList = new List<string>();
DataTable dataTable = SqlDataSourceEnumerator.Instance.GetDataSources();
DataRow[] rows = dataTable.Select("", "ServerName,InstanceName Asc");
foreach (DataRow row in rows)
{
string server = row["ServerName"].ToString();
if (string.IsNullOrEmpty(row["InstanceName"].ToString()) == false)
{
server = server + "\\" + row["InstanceName"].ToString();
}
serverList.Add(server);
}
this.SetComboBoxItemSource(cbServer, serverList);
}
2. 데이터베이스의 모든 데이터베이스 목록을 가져옵니다.
이것은 비교적 간단합니다. 서버에 연결된 후master 데이터베이스에 연결하여 시스템 데이터베이스를 조회하면 됩니다.
코드:
private void GetDataBasesName()
{
List<string> dataBaseList = new List<string>();
// 、 , 。
string server = this.GetControlText(this.cbServer);
string uid = this.GetControlText(this.txtUid);
string pwd = this.GetControlText(this.pbPwd);
string connString = string.Format("server={0};database=master;uid={1};pwd={2}", server, uid, pwd);
string sql = "select name from SYSDATABASES order by name";
SqlConnection conn = new SqlConnection(connString);
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
dataBaseList.Add(reader[0].ToString());
}
}
catch (Exception)
{
//throw;
}
finally
{
conn.Close();
}
this.SetComboBoxItemSource(this.cbDataBase, dataBaseList);
}
만약 부당한 점이 있으면 여러분의 많은 지도를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
flash LocalConnection Error #2044: 처리되지 않은 AsyncErrorEvent:오늘 가장 간단한 flash Local Connection 예를 하나 해볼게요. 항상 실패합니다. 다음 오류를 보고하십시오. Error #2044: 처리되지 않은 AsyncErrorEvent:.text=Error #...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.