>  기사  >  백엔드 개발  >  Access 데이터베이스를 asp.net으로 연결하기 위해 상대 경로를 작성하는 방법

Access 데이터베이스를 asp.net으로 연결하기 위해 상대 경로를 작성하는 방법

伊谢尔伦
伊谢尔伦원래의
2016-11-25 09:45:111765검색

Asp.net이 Access 데이터베이스에 연결되면 일반적으로 web.config 구성 파일에 데이터베이스 연결 문자열을 작성합니다. 연결 문자열의 데이터베이스 경로는 절대 경로 형태로만 표현할 수 있는데, 프로그램을 이동하려면 web.config에서 데이터베이스 연결 문자열의 데이터베이스 경로를 수정해야 하는데, 이는 매우 번거로운 일이다. ~/database/test.mdb와 같은 상대경로 형태로 작성하는 경우에도 올바르지 않습니다. 예:

 <connectionstrings>
    <add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=~/database/test.mdb" providername="System.Data.OleDb" />
  </connectionstrings>

위의 글은 잘못되었습니다.

현재 두 가지 일반적인 솔루션이 있습니다.

1. DataDirectory 키워드 방법을 사용하여

Asp.net 2.0부터 데이터 파일을 구체적으로 저장하는 App_Data 디렉터리가 있습니다. . Access, SQL Server Express, XML 및 기타 데이터 파일을 저장하는 데 사용할 수 있습니다. App_Data 폴더에 Access 데이터베이스 파일을 배치한 다음 DataDirectoty 키워드를 사용하여 경로를 가져올 수 있습니다.

<connectionstrings>
    <add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=|DataDirectory|test.mdb"  providername="System.Data.OleDb" />
  </connectionstrings>

2. web.config 파일에 두 개의 문자열을 설정합니다.

web.config 파일에 두 개의 문자열을 설정합니다. 하나는 드라이버 문자열이고 다른 하나는 액세스 상대 경로입니다. 데이터베이스 파일. 사용시 Server.MapPath()를 이용하여 절대경로를 구한 후 결합된 연결문자열을 사용할 수 있다.

<connectionStrings>
    <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source={0}"
      providerName="System.Data.OleDb" />
</connectionStrings>
<appSettings>
    <add key="AccessPath" value="~/Database/test.mdb"/>
</appSettings>

백그라운드에서 사용시 코드는 다음과 같습니다.

private string GetConnStr()
{
    string connStr = WebConfigurationManager.ConnectionStrings["Access"].ConnectionString;
    connStr = connStr.Replace("{0}", Server.MapPath(WebConfigurationManager.AppSettings["AccessPath"].ToString()));
    return connStr;
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.