오류

2013-01-14 1 views
0

나는 ASP.net 응용 프로그램을 가지고 있고, 나는 다음과 같은 연결 문자열을 사용하고 있습니다 :오류

<configuration> 
<connectionStrings> 
    <add name="CAF" connectionString="Data Source=pxx-sql2;Initial Catalog=mydb;User ID=DBUser;Password=mypass;Persist Security Info=False;Trusted_Connection=False;" providerName="System.Data.SqlClient"/> 
</connectionStrings> 
</configuration> 

을 애플리케이션을 읽을 때 모든 것이 작동합니다. 그러나이 글을 쓸 때 "OLE DB 공급자 'ADSDSOObject'에 대한 임시 액세스가 거부되었습니다. 연결된 서버를 통해이 공급자에 액세스해야합니다." 제공

스택 추적 :

[SqlException (0x80131904): Ad hoc access to OLE DB provider 'ADSDSOObject' has been denied. You must access this provider through a linked server.] 
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +404 
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412 
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363 
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6387805 
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +6389506 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +538 
    System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +689 
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +327 
    MyDBData.Reconcile(HttpRequest req, User u, String assignee) in c:\websites\MyDB\App_Code\MyDBDataReconciler.cs:99 

[Exception: Ad hoc access to OLE DB provider 'ADSDSOObject' has been denied. You must access this provider through a linked server.] 
    MyDBData.Reconcile(HttpRequest req, User u, String assignee) in c:\websites\MyDB\App_Code\MyDBDataReconciler.cs:112 
    EntryEditView.Page_Load(Object sender, EventArgs e) in c:\websites\MyDB\EntryEditView.aspx.cs:50 
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25 
    BasePage.OnLoad(EventArgs e) in c:\websites\MyDB\App_Code\BasePage.cs:19 
    System.Web.UI.Control.LoadRecursive() +71 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064 

나는 어디이 프로젝트에 "ADSDSOObject"를 사용하고 생각하지 않는다 제외. 표준 SqlData 핸들을 사용하여 연결을 여는 중입니다.

정말 이상한 점은 이것이 네 번째 네 번째 삽입이며 트랜잭션을 커밋하기 전에 마지막에 ExecuteNonQuery (삽입에 있음)입니다.

이것은 전체 기능입니다.

이 특정 오류의 원인은 무엇입니까?

+0

프로젝트에서 전체적으로 'ADSDSOObject'에 대한 검색을 수행하셨습니까 – MethodMan

답변

1

ADSDSOObject는 Active Directory를 쿼리하는 데 사용됩니다.

오류는 응용 프로그램이 아닌 SQL Server에서 생성 된 것으로 보입니다. Active Directory에 대해 ADSDSOObject를 사용하여 전달 된 LoginName (@alteredBy) 또는 할당 된 (@assignedTo) 유효성을 검사하는 제약 조건이나 트리거가있을 수 있습니다.

+0

Nailed it. 우리는 방금 데이터베이스를 한 시스템에서 다른 시스템으로 옮겼습니다. 특정 조건에서 전자 메일을 보내기위한 트리거가 테이블에있었습니다. –

+0

@clintp 니스! [문서를 업데이 트하는 것을 잊지 마 :)] – lboshuizen

+0

그래, 그 작업. 소프트웨어는 잠시 동안 선반에 앉아 있었고, 우리는 그들에게 걸려 넘어지면서 기억되고 있습니다. –