데이터베이스가 존재하는지 여부를 확인하는 코드를 작성했습니다. 존재하지 않는 경우 로컬 디렉토리에서 데이터베이스를 연결하려고합니다. 내 코드는 다음과 같습니다C#을 사용하여 winforms에서 데이터베이스를 연결하는 방법
SqlConnection con = new SqlConnection(@"Data Source=CENSYS08\SQLEXPRESS;Initial Catalog=master;Integrated Security=True");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select name from sys.databases", con);
DataTable dt = new DataTable();
da.Fill(dt);
string[] array = dt
.AsEnumerable()
.Select(row => row.Field<string>("Name"))
.ToArray();
if(!array.Contains("cstmrDB",StringComparer.OrdinalIgnoreCase))
{
SqlCommand cmd = new SqlCommand("sp_attach_db");
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@dbname", "cstmrDB");
cmd.Parameters.AddWithValue("@filename1", @"C:\Naresh WORK AREA\My Projects\AttachDB\Data\cstmrDB.mdf");
cmd.ExecuteNonQuery();
}
그리고 한 가지 더, 나는 this로 내 로컬 파일에 대한 권한을 준있다.
실제 파일 "C : \ Naresh WORK AREA \ My Projects \ AttachDB \ Data \ cstmrDB.mdf"를 열 수 없습니다. 운영 체제 오류 2 : "2 (지정된 파일을 찾을 수 없습니다.)".
데이터베이스를 SQL Server에 연결할 수 있습니까?
여기에 바보가 되려고하지 않고 파일이 실제로 그 경로에 있습니까? 'C : \ Naresh WORK AREA \ My Projects \ AttachDB \ Data \ cstmrDB.mdf' – paqogomez
yahh .. 확실합니다. 이 파일을 기본 위치에서이 위치로 복사했습니다. Windows 탐색기 주소 표시 줄에서 디렉터리를 복사했습니다. –
이고'CENSYS08'이 (가) 로컬 컴퓨터 이름입니까? – paqogomez