2012-07-11 1 views
0

나는 C# 프로젝트 (WinForm)에서 작업합니다.코드 줄을 사용하여 SqlServer2008 Express에서 데이터베이스를 만드는 방법

I 클라이언트 PC에 Sql Server 2008 Express를 설치합니다.

내 프로그램 시작에서 데이터베이스를 만들어야 함. 그래서 나는이 코드에 대한 데이터베이스를 작성 사용하여 내 프로그램 실행 내가

enter image description here

내 문제가 무엇입니까 오류

string sqlCreateDBQuery; 

      SqlConnection tmpConn = new SqlConnection(@"SERVER =.\SQLEXPRESS; Trusted_Connection = yes;DATABASE = master;"); 

      sqlCreateDBQuery = " CREATE DATABASE " 
           + DatabaseName 
           + " ON PRIMARY " 
           + " (NAME = " + DatabaseName + ", " 
           + " FILENAME = '" + @"C:" + @"\" + DatabaseName + ".mdf" + "', " 
           + " SIZE = 3MB," 
           + " FILEGROWTH = " + "10%" + ") " 
           + " LOG ON (NAME =" + "MyDatabase_Log" + ", " 
           + " FILENAME = '" + @"C:" + @"\" + DatabaseName + "_log.ldf" + "', " 
           + " SIZE = 1MB, " 
           + " FILEGROWTH = " + "10%" + ") "; 
      sqlCreateDBQuery = Coomand; 

      SqlCommand myCommand = new SqlCommand(sqlCreateDBQuery, tmpConn); 
      try 
      { 
       tmpConn.Open(); 
       MessageBox.Show(sqlCreateDBQuery); 
       myCommand.ExecuteNonQuery(); 
      } 
      catch (System.Exception ex) 
      { 
       MessageBox.Show(ex.ToString()); 
      } 
      finally 
      { 
       tmpConn.Close(); 
      } 
      return; 

그러나 다음을 참조 할 때?

+0

이를 참조하십시오. com/Articles/10213/Create-a-SQL-Server-Database-C-C – NoChance

+0

Thanks 제 친구. 그러나 작동하지 않습니다. – mehdi

+0

코드에서 루트 디렉토리 C에 파일을 생성하지 마십시오 (오류 메시지 참조). 읽고 쓸 수있는 하위 디렉토리를 사용하십시오. 링크마다 어떤 오류가 있습니까? 관리자로 앱을 실행하고 있습니까? DB에 연결할 수 있습니까? – NoChance

답변

0

루트에 mdf 파일을 만들 수있는 권한이 없다는 오류 메시지가 나타납니다. 진실은 너무 많이 드러나기 때문에 어쨌든 그것을 두지 말았어야한다고 들려야합니다. 응용 프로그램의 폴더에 넣거나 실수로 삭제되지 않도록 어딘가에 숨기십시오.

또한 코드에서가 아니라 초기 설치를위한 설치 스크립트로 실행해야한다고 생각합니다. 나는 코드에서 가능한 한 많은 SQL을 유지하는 것을지지한다. SQL Server DB를 설정했다고하면 쉽게 사용할 수 있도록 도구를 사용해야합니다. 나는 나를 잘 봉사 Wrox 사에서 책을 가지고, 여기에 링크입니다 : http://www.wrox.com/WileyCDA/WroxTitle/Wrox-s-SQL-Server-2005-Express-Edition-Starter-Kit.productCd-0764589237.html -Amazon은 $ 2을 가지고 - 또한 http://www.amazon.com/Server-Express-Edition-Starter-Programmer/dp/B006TQYC8U/ref=sr_1_1?ie=UTF8&qid=1342019983&sr=8-1&keywords=Wrox%27s+SQL+Server+2005+Express+Edition+Starter+Kit

: HTTP : //www.codeproject

http://msdn.microsoft.com/en-us/library/bb264562(v=sql.90).aspx

+0

SQL Server 2008 Express를 설치 버전 (해당 Visual Studio 소유)에서 설치하고이 SQL 서버에 "SQL Server Management Studio"가 없습니다. 내 PC에서 내 프로그램을 실행할 때. 그것은 잘 작동합니다. 그러나 클라이언트 PC에서 설치 및 실행시 오류가 있습니다. 나는 클라이언트 PC에 설치하는 SQL 서버는 Raw이고 Doesn이 아니라고 생각한다. t 모든 사용자와 패스가있다 (인스턴스). – mehdi