2013-10-07 3 views
2

SQL Compact Edition 데이터베이스는 어떻게 만듭니 까? 나는 그것을 알아 내기 위해 노력했다, 인터넷을 검색했고 나는 그것을 찾는다. (그러나 다시, 당신은 어떻게 이것을 검색 하느냐?!). 지금까지 내 코드는 다음과 같습니다.아직 생성되지 않은 데이터베이스에 연결 하시겠습니까?

checkPasswordsMatch(); 
SqlCEConnection myconn = new SqlCEConnection(); 
SqlCeCommand myCommand = new SqlCeCommand(
    @"CREATE DATABASE ""pwdb.sdf"" DATABASEPASSWORD '" + textBox1.Text + "'"); 
myCommand.ExecuteNonQuery(); 

연결 부분은 무엇입니까? 나는 이해하지 못한다.

업데이트 : 응용 프로그램과 통합 할 데이터베이스를 만들고 레코드 마스터 전용 값 (admin 암호)이 있는지 확인하기로 결정했습니다. 여기

나의 새로운 코드 :

Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     SqlCeConnection myconn = new SqlCeConnection("Data Source = pwdb.sdf;"); 
     SqlCeCommand checkpass = new SqlCeCommand("SELECT * from PW WHERE Name = Master;",myconn); 
     try 
     { 
      myconn.Open(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
     if (checkpass.ExecuteNonQuery() != null) 
     { 
      Application.Run(new enterMasterPassword()); 
     } 
     else 
      Application.Run(new mainPassSet()); 

문제는, 내가 지금을 실행할 때, 내가 얻을 형식 'System.Data.SqlServerCe.SqlCeException'의

처리되지 않은 예외 System.Data.SqlServerCe.dll에서 발생했습니다.

어떤 아이디어?

+0

CE에서도 동일하게 적용되는지 모르겠지만 정식 버전에서는 데이터베이스 'master'를 사용하여 서버에 연결합니다. 그런 다음 데이터베이스 작성 스크립트를 실행하십시오. – gunr2171

+0

[이 SO Q & A] (http://stackoverflow.com/questions/1487845/create-sql-server-ce-database-file-programmatically) 아직 보셨나요? – jltrem

답변

2

SqlCeEngine 클래스를 사용해보세요. 이 클래스를 사용하면 새 데이터베이스를 만들 수 있습니다.

using (SqlCeEngine engine = new SqlCeEngine()) 
{ 
    engine.LocalConnectionString = yourConnectionString; 
    engine.CreateDatabase(); 
} 
+0

하지만 연결 문자열은 무엇이 연결해야할지 모르십니까? –

+0

데이터 원본 = C : \ data \ mydatabase.sdf – ErikEJ

+0

MSDN의 ConnectionString 설명서를 확인하십시오. http://msdn.microsoft.com/en-us/library/system.data.sqlserverce.sqlceconnection.connectionstring(v = vs.100) .aspx 암호 (데이터베이스 암호화), 정렬, 자동 축소 임계 값 등과 같이 설정할 수있는 여러 가지가 있습니다. – mageos

0

코드를 작성하지 않으려는 경우에만 데이터베이스를 만들려고합니다.

몇 가지 제안 :

1) 비주얼 스튜디오를 사용하는 경우 당신은 메뉴보기 -> 서버 탐색기)에서 서버 탐색기를 (열고 거기를 만들 수 있습니다.

2) 첫번째 linkpad 또는 파워 쉘 + sqlcmd ("

3) ... 당신이 함께 사용하고 있지만 EntityFramework 무엇 데이터 모델 몰라) 등이있다 코드와 같은 무료 SQL 관리자 중 하나를 사용하여 "는 연결 문자열과 데이터 컨텍스트의 이름을 기반으로 자동으로 데이터베이스를 만듭니다. 당신은 sdf 태그를 사용하고 있기 때문에 어쩌면 당신은 EF를 사용하고 있습니다 ...

관련 문제