ADO.NET | DataDirectory | 이 문서는 어디에 있습니까?
AppConfig에서는 사용할 수 |DataDirectory|
있지만 문서를 찾을 수 없습니까?
|DataDirectory|
은 대체 문자열이므로 데이터베이스 파일의 위치를 별도로 구성 할 수 있습니다.
그래서 대신 :
SqlConnection c = new SqlConnection (
@"Data Source=.\SQLDB; AttachDbFilename=C:\MyDB\Database.mdf;Initial Catalog=Master");
다음을 수행합니다.
// Set |DataDirectory| value
AppDomain.CurrentDomain.SetData("DataDirectory", "C:\myDB");
// SQL Connection String with |DataDirectory| substitution string
SqlConnection c = new SqlConnection (
@"Data Source=.\SQLDB; AttachDbFilename=|DataDirectory|\Database.mdf;Initial Catalog=Master");
MSDN 소셜 포럼 에서이 답변을 찾을 수 있습니다.
| DataDirectory | (파이프 기호로 묶인)은 데이터베이스 경로를 나타내는 대체 문자열입니다. 데이터베이스에 대한 전체 경로가 다른 위치에서 직렬화 될 수 있으므로 여러 문제를 야기하는 전체 경로를 하드 코딩 할 필요가 없습니다. DataDirectory를 사용하면 프로젝트를 쉽게 공유하고 응용 프로그램을 배포 할 수도 있습니다.
예를 들어 다음 연결 문자열을 사용하는 대신 :
"Data Source= c:\program files\MyApp\Mydb.sdf"
DataDirectory를 사용하면 다음과 같은 연결 문자열을 가질 수 있습니다.
“Data Source = |DataDirectory|\Mydb.sdf”
DataDirectory 속성을 설정하려면 AppDomain.SetData 메서드를 호출합니다. DataDirectory 속성을 설정하지 않으면 다음 기본 규칙이 데이터베이스 폴더에 액세스하는 데 적용됩니다.
- 사용자 컴퓨터의 폴더에있는 응용 프로그램의 경우 데이터베이스 폴더는 응용 프로그램 폴더를 사용합니다.
- ClickOnce에서 실행되는 응용 프로그램의 경우 데이터베이스 폴더는 생성 된 특정 데이터 폴더를 사용합니다.
틀린 녀석들! | DataDirectory | 인스턴스가 구성된 mssql \ data 디렉터리를 나타냅니다.
예를 들어 SQL Express와 함께 Visual Studio 2012를 사용하고 있습니다. | DataDirectory | 모든 MDF 파일을 C : \ Program Files \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ DATA 아래에 배치합니다. 여기서 my sql express가 설치된 솔루션은 app_data 폴더가 아닙니다.
또한 파일 이름은 내 web.config에 지정된 Movies.mdf가 아닌 MVCMovie.Models.MovieDBContext입니다.
app_data 아래에 적절하게 배치하려면 Visual Studio의 어딘가에 구성해야한다고 생각합니다.
이를 구문 분석하고 필요한 경우 MDF를 만드는 SqlConnectionHelper라는 내부 클래스가 있습니다.
여기에 해당 클래스와 | DataDirectory |에 대해 찾을 수있는 유일한 MS 문서가 있습니다. 매크로 : http://msdn.microsoft.com/en-us/library/aa478948.aspx .
http://msdn.microsoft.com/en-us/library/aa478948.aspx
| DataDirectory | 연결 문자열의 일부는 MDF 파일이 App_Data 디렉터리에 있음을 지정합니다.
코드 우선 마이그레이션을 사용하는 경우 관련이있을 수 있습니다.
VisualStudio 2013 (적어도)에서 Update-Database 명령을 실행할 때 데이터 디렉터리는 Visual Studio에 현재 구성된 "시작 프로젝트"와 관련이 있습니다.
(패키지 관리자 콘솔에서 선택한대로) 다른 프로젝트에서 Update-Database를 실행하더라도 현재 선택한 시작 프로젝트의 App_Data에 데이터베이스가 생성됩니다.
참고 URL : https://stackoverflow.com/questions/1409358/ado-net-datadirectory-where-is-this-documented
'Program Tip' 카테고리의 다른 글
TcpListener를 중지하는 올바른 방법 (0) | 2020.12.04 |
---|---|
jquery로 html 문자열 구문 분석 (0) | 2020.12.04 |
Coq와 같은 비 튜링 완전한 언어의 실질적인 한계는 무엇입니까? (0) | 2020.12.04 |
중첩 된 셸을 실행 중인지 어떻게 알 수 있습니까? (0) | 2020.12.04 |
고유 한 솔루션으로 스도쿠 보드를 생성하는 방법 (0) | 2020.12.04 |