2012-05-29 4 views
1

질문의 제목에서 언급 한 바와 같이; SQL 데이터베이스에 연결된 Visual Studio 프로젝트 인 데스크톱 응용 프로그램이 있습니다. 이 프로젝트에 대한 exe 파일 (설치 파일)을 만들고 싶습니다. 어떻게 데이터베이스를 연결할 수 있습니까?SQL 데이터베이스에 연결된 프로젝트의 설치 파일을 만드는 방법은 무엇입니까?

감사합니다. 솔루션

같은 문제 :이 SQL 서버의 경우 Quick deployment of Visual Studio 2010 app with SQL database

+0

어떤 데이터베이스가 있습니까? SQL Server Express? SQLite? –

+0

평상시처럼 자세한 정보가 필요합니다. – JonH

+0

"데이터베이스에 연결됨"이란 무엇을 의미합니까? 구성 파일에서 읽음으로써 런타임의 코드 어딘가에 연결을 열어야합니다. 따라서 설치 과정에서 DB 스키마를 만들고 테이블에 기본값을 채우려면 SQL 스크립트를 실행하기 만하면됩니다. –

답변

3

, 나는 파일로 데이터베이스를 스크립팅 제안하고, 변수에 지정된 데이터베이스 서버에 대해 해당 스크립트와 osql을 호출하는 사용자 지정 작업을 사용하십시오.

+0

+1 "데이터베이스 스크립팅"은 DB 크기를 줄이고 더 나은 것으로 생각합니다. –

+0

좋은 것을 찾았습니다. http://stackoverflow.com/questions/9734816/quick-deployment-of-visual-studio-2010-app-with-sql-database – toti

+0

부트 스트랩 방법을 찾고 있다면 SQL 서버의 설치 ​​나는 당신이 당신의 설치 프로젝트로 가져올 수있는 VS 설치 디렉토리 안에 이것을위한 병합 모듈이 있다고 믿습니다. –

2

프로젝트에 콘텐츠 파일로 MDF를 추가하십시오. 설치 프로그램은 컨텐츠 파일을 설치 폴더에 복사하므로 응용 프로그램에서 해당 데이터베이스를 올바르게 사용하는 것이 문제입니다. SMO가 도와 줄 수도 있습니다.

0


를 사용하여 사용자 정의 스크립트를 필요에 따라 생성 및 초기화 데이터에 대한 스크립트를 실행하여 설치하는 동안 데이터베이스를 확인하고 사용자 정의 대화 상자는이를 달성하기 위해.

0

xcopy deployment을 SQL Server Express 데이터베이스와 함께 사용할 수 있습니다. 언급 한 링크에서 :

: SQL 서버 익스프레스의 Xcopy를 배포 기능을 사용하여 응용 프로그램 작업을하려면

, 당신은 당신이 당신의 응용 프로그램에서 을 사용하는 연결 문자열은 해당 매개 변수가 포함되어 있는지 확인해야합니다 데이터 원본 매개 변수를 사용하지만 컴퓨터 이름을 마침표 (.) 또는 (로컬)로 변경하십시오. SQL Server Express가 익명 인스턴스에 항상 으로 설치되어 있지 않은 경우 인스턴스의 이름도 지정해야합니다.

초기 카탈로그 또는 데이터베이스 매개 변수를 사용하지만 매개 변수를 값으로 설정하지 마십시오.

AttachDBFileName 매개 변수를 추가하고 파일 이름과 경로를 .mdf 파일로 설정하십시오. Attachdbfilename은 SqlClient 연결 문자열 옵션이며 런타임시 데이터베이스 연결을 허용하고 데이터베이스 이름을 자동 생성합니다. DataDirectory 키워드를 사용하면 데이터베이스 파일의 상대 경로 을 지정할 수 있습니다. Attachdbfilenamealso는 데이터베이스 이식성에 도움이됩니다. Attachdbfilename에 대한 자세한 내용은 Visual Studio 2005 설명서를 참조하십시오.

다음 연결 문자열은 응용 프로그램 실행 파일과 동일한 폴더에있는 MyDb.mdf 데이터베이스 파일을 로컬 컴퓨터에서 실행되는 SQL Server Express 인스턴스 에 연결합니다.

@"Data Source='.\SQLExpress'; Initial Catalog=; Integrated 
Security=true; AttachDBFileName='" |DataDirectory| + 
@"\MyDb.mdf'"