제목 : Re : server에 대한 오류 질문입니다...
글번호:
|
|
597
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2007/05/21 오후 11:17:00
|
조회수:
|
|
4282
|
안녕하세요...
우선, 제일스터디에 질문 주셨던것과 동일한 문제인 듯 합니다.
데이터베이스 연결 문자열을 생성할 때에는 먼저 UDL 파일 설정을
요청드립니다.
만약, 본인이 작성하는 데이터베이스가
SQL Server 2005가 아닌 SQL Server 2005 Express라면,
데이터베이스 연결문자열 중에서
"Server=(local)\SQLEXPRESS;database=memo;uid=memo;pwd=memo;"
위와 같이 구성하셔야 합니다.
이러한 것을 테스트하기에는 역시 UDL 파일밖에 없습니다.
다시 한번 도전해 보시기 바랍니다.
On 2007-05-21 오후 11:06:00, '홍성삼' wrote:
------------------------------------------------------------
>asp.net실습중 디버그않고 실행하기하면 다음과같은 오류가 계속 나옵니다.
>무엇을 수정해야할지 알 수 가 없습니다..
>sql 구성관리자와 노출영역은 제대로 셋팅을 한것 같습니다..
>또 다른 문제가 있는지 가르침을 받고 싶습니다..
>소스내용(맨위 기본 설정되는 코드는생략);
>//[0] 네임스페이스 추가
>using System.Data.SqlClient;
>
>public partial class FrmSqlCommand : System.Web.UI.Page{
> protected void Page_Load(object sender, EventArgs e)
> {
>
> }
> protected void btnNow_Click(object sender, EventArgs e){
> //[1] 데이터베이스 객체 생성
> SqlConnection objCon = new SqlConnection();
> //[2] 데이터베이스 연결 문자열 지정
> objCon.ConnectionString = "server=(local);database=memo;uid=memo;pwd=memo;";
> //[3] 데이터베이스 연결
> objCon.Open();
> //[4] 명령어 객체 생성 : SqlCommand
> SqlCommand objCmd = new SqlCommand();
> //[5] 연결된 데이터베이스 지정
> objCmd.Connection = objCon;
> //[6] 어떤명령어를 실행 : 모든 SQL문
> objCmd.CommandText = "Select GetDate()";
> //[7] 명령어의 타입 지정 : 일반 SQL문
> objCmd.CommandType = CommandType.Text;
> //[8] 명령어 실행 후 결과 값 받기
> string s =
> objCmd.ExecuteScalar().ToString();
> //[9] 레이블에 결과 출력
> this.lblDisplay.Text = s;
> //[10] 데이터베이스 닫기
> objCon.Close();
> }
>}
>
>오류내용;
>'/새 폴더' 응용 프로그램에 서버 오류가 있습니다.
>--------------------------------------------------------------------------------
>
>서버에 연결하는 동안 오류가 발생했습니다. SQL Server 2005에 연결하는 경우 SQL Server 기본 설정에서는 원격 연결을 허용하지 않기 때문에 발생한 오류일 수 있습니다. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.)
>설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.
>
>예외 정보: System.Data.SqlClient.SqlException: 서버에 연결하는 동안 오류가 발생했습니다. SQL Server 2005에 연결하는 경우 SQL Server 기본 설정에서는 원격 연결을 허용하지 않기 때문에 발생한 오류일 수 있습니다. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.)
>
>소스 오류:
>
>처리되지 않은 예외를 생성한 소스 코드는 디버그 모드에서 컴파일할 때만 표시됩니다. 이 예외를 활성화하려면 아래 단계 중 하나를 수행한 다음 URL을 요청하십시오.
>
>1. 오류를 생성한 파일의 맨 위에 "Debug=true" 지시문을 추가합니다. 예:
>
> <%@ Page Language="C#" Debug="true" %>
>
>또는
>
>2. 다음 섹션을 응용 프로그램의 구성 파일에 추가합니다.
>
><configuration>
> <system.web>
> <compilation debug="true"/>
> </system.web>
></configuration>
>
>두 번째 방법을 사용하면 해당 응용 프로그램에 있는 모든 파일이 디버그 모드에서 컴파일됩니다. 첫 번째 방법을 사용하면 특정 파일만 디버그 모드에서 컴파일됩니다.
>
>중요: 디버그 모드에서 응용 프로그램을 실행하면 메모리/성능 오버헤드가 발생합니다. 생산 시나리오로 배포하기 전에 먼저 응용 프로그램에 디버깅이 비활성화되어 있는지 확인하십시오.
>
>스택 추적:
>
>
>[SqlException (0x80131904): 서버에 연결하는 동안 오류가 발생했습니다. SQL Server 2005에 연결하는 경우 SQL Server 기본 설정에서는 원격 연결을 허용하지 않기 때문에 발생한 오류일 수 있습니다. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.)]
> System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +173
> System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199
> System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +1069
> System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +606
> System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +193
> System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +502
> System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
> System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +429
> System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +70
> System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +512
> System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +85
> System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +89
> System.Data.SqlClient.SqlConnection.Open() +160
> FrmSqlCommand.btnNow_Click(Object sender, EventArgs e) +46
> System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
> System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +98
> System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
> System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919
>
>
>방법을 가르쳐 주시면 감사하겠습니다...
>
>
------------------------------------------------------------