2012-03-04 2 views
-1

내 로컬 컴퓨터에서 내 VPS로 웹 사이트를 배포하는 데 어려움을 겪고 있습니다. 여기에 문제가 있습니다. 로컬 웹 프로젝트에서 내 웹 구성에 AttachDBFileName을 사용하고 있습니다. 연결 문자열 내 웹 응용 프로그램ii7 및 sql 익스프레스로 AttachDBfilename 문제가 발생했습니다.

<connectionStrings> 
<add name="myConnectionString" 
    connectionString="Data Source=.\SQLEXPRESS; 
    AttachDBFileName=|DataDirectory|\AssignmentDB.mdf; 
    Integrated Security=True; User Instance=True; 
    Database=AssignmentDB.mdf" providerName="System.Data.SqlClient" /> 

이 연결 문자열 내 웹 응용 프로그램의 루트에있는 Web.config의에 자리 잡고 있습니다에 있습니다.

  • 1이 연결 문자열 gizillion 시간과 행운을 변경 :

    그리고 손으로 내가 여기 msdeploy를 사용하는 방법을 잘 모릅니다, 그리고 있기 때문에 모든 시간을이 배포는 지금까지 시도했습니다 것입니다.

  • 2- SQL 관리 스튜디오를 사용하고 모든 로그인에 권한을 부여하여 VPS에서 내 SQL 익스프레스에 db를 첨부합니다.
  • 3 변경 될 때마다 iis에서 웹 사이트를 다시 시작합니다.

나는 웹 사이트를 실행하고 나는 오류를 얻을 DB에 연결을 필요로하는 모든 기능을 사용하려고 할 때마다 500 건, 나는이 문제를 봤 적이있다 아무도 제안 것 같다

이 데이터베이스를 실행하는 데 관련된 세 가지 응용 프로그램 모두에 대한 명확한 구성

업데이트 :

이 내가 SQL 서버로 DB를 부착 한 후 시도 연결 문자열입니다.

<add name="myConnectionString" connectionString="Data Source=.\SQLEXPRESS; 
    Initial Catalog=AssignmentDB; Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 

특정 오류 메시지가 표시되지 않고 오류 500 페이지로 리디렉션됩니다. 그게 전부입니다.

업데이트 - DefaultAppPoolIdentity로 설정이

그냥 미래의 사용자를 지 웁니다 기본 AppPool을했던 정체성, 나는 로컬 시스템에 있음을 변경하고 내 DB :

+1

질문을 편집하여 사용한 연결 문자열과 프로젝트 내의 위치를 ​​포함하십시오. –

+0

또한 오류 메시지를 지정하십시오. 친숙한 오류 메시지를 비활성화하고 오류의 실제 원인이 무엇인지 판단해야합니다 (500은 일반적인 범용이며 전혀 쓸모가 없습니다). –

+0

특정 오류가 발생하지 않습니다. 사용자 지정 오류 500 페이지로 리디렉션됩니다. 그게 전부예요. – ymg

답변

2

에 대한 액세스를 얻었다 호스트에 배포하면 더 이상 AttachDbFileName을 사용하지 않아야합니다. 이는 로컬 개발 용입니다. 웹 서버에는 데이터베이스 사본 하나만 있어야하며 데이터베이스 이름을 Initial Catalog으로 참조하고 MDF 파일의 실제 경로는 참조하지 않아야합니다. 또한 User Instance은 사실이 아니어야합니다.

연결 문자열을 함께 시작해야합니다

<add name="myConnectionString" 
    connectionString="Data Source=.\SQLEXPRESS; 
    Initial Catalog=AssignmentDB; 
    providerName="System.Data.SqlClient" /> 

그런 다음 당신은 User IDPassword 매개 변수를 추가하거나 이미 있던 Integrated Security = True를 사용해야합니다 중 하나. 호스팅 환경에서는 Windows가 아닌 SQL 인증 자격 증명을 받았을 가능성이 높지만 잘못되었을 수 있습니다. 호스트 된 환경에서 항상 명명 된 인스턴스를 다루는 것은 아니며 항상 Express Edition이 아니며 대개 웹 서버와 동일한 시스템에 있지 않기 때문에 .\SQLEXPRESS 이외의 서버 이름을 지정해야 할 수도 있습니다.

Windows 인증을 사용 중이므로 IIS가 SQL Server에 연결할 수 있는지 확인하십시오. 너는 specifying an identity for an application pool/web site 또는 configuring Windows Authentication에 의하여 이것을 할 수있다.

+0

나는 서버에 db를 연결하려고 시도했습니다. 초기 카탈로그를 사용하여, 당신이 언급 한 내용인지 확실하지 않습니다. – ymg

+0

예, DB를 서버에 연결하면 (초기 작업을 수행해야 함) 초기 카탈로그를 사용하여 데이터베이스를 식별합니다. 데이터베이스에 이름이 있습니까? 연결 문자열에서 참조 했습니까? Management Studio의 개체 탐색기에서 시도한 다양한 연결 문자열,받은 오류 메시지 및 서버/데이터베이스의 스크린 샷 (분명히 비밀 정보가 모호해 짐)을 표시 할 수 있습니까? –

+0

방금 ​​시도한 것과 같은 오류가 발생했습니다. 여기에 내 관리 스튜디오의 그림이 있습니다 – ymg

관련 문제