2010-06-07 49 views
1

類似於去年的Insert into a temp table from a stored procedure on Sql Server 2000,但現在出現了一個奇怪的錯誤。從存儲過程插入臨時表中生成SQL 2000中的分佈式事務錯誤

我正在使用Microsoft SQL Server 2000將結果從一個存儲過程轉儲到另一個過程的臨時表中。這兩個過程都在同一臺物理服務器上,但我收到錯誤消息,就好像第二個過程位於不同的服務器上一樣。

操作無法進行,因爲 的OLE DB提供程序「SQLOLEDB」 無法啓動分佈式 交易。

代碼:

CREATE TABLE 
       #subjects (
      subject_id   INT    NULL 
     , subject_name  NVARCHAR(500) NULL 
     , crm_company_id  INT    NULL 
     , customer_no   NVARCHAR(10) NULL 
     , order_no   NVARCHAR(10) NULL 
     , order_date   DATETIME  NULL 
     , state_code   NVARCHAR(2)  NULL 
     , filing_office  NVARCHAR(35) NULL 
     , jurisdiction  NVARCHAR(200) NULL 
     , invoice_no   NVARCHAR(10) NULL 
     , invoice_date  DATETIME  NULL 
     , invoice_status  NVARCHAR(10) NULL 
    ) 

    INSERT INTO #subjects (subject_id,subject_name,crm_company_id,customer_no,order_no,order_date,state_code,filing_office,jurisdiction,invoice_no,invoice_date,invoice_status) 
    EXECUTE webapp.dbo.subject_search 
      @SubjectName = @SubjectName 
     , @StartDate  = @StartDate 
     , @EndDate  = @EndDate 
     , @CRMCompanyID = @CRMCompanyID 
     , @RoleName  = @RoleName 

回答

1

你可以張貼subject_search程序的代碼,是否有參與任何鏈接的服務器,在那裏也代碼內的任何分佈式事務?

+0

我無法發佈任何來自subject_search的內容,但我可以說它確實從webapp數據庫之外檢索數據,可能來自另一臺服務器。我不確定。我只是代碼的維護者。那可能是導致錯誤的原因嗎? – 2010-06-07 18:05:04

+0

如果DTC(分佈式事務處理協調器)沒有打開並且被啓用會出現問題,那麼是。 – SQLMenace 2010-06-07 18:12:16

+0

好的。我會研究它。 – 2010-06-07 18:17:00

相關問題