我有一個存儲過程,它接受一個XML參數並將數據插入到多個表中。如果我使用SSMS查詢窗口將存儲過程運行到數據庫中,則一切正常。但是,我們有一個用於部署存儲過程到數據庫自定義安裝程序,這是使用時,SP的執行失敗,此錯誤:SQL Server存儲過程由於使用XML/ANSI_NULLS,QUOTED_IDENTIFIER選項而失敗
INSERT failed because the following SET options have incorrect settings:
'ANSI_NULLS, QUOTED_IDENTIFIER'. Verify that SET options are correct for use with
indexed views and/or indexes on computed columns and/or query notifications
and/or xml data type methods.
自定義安裝程序沒有使用正確的設置當在存儲過程中編寫腳本時。
設置這些(SET ARITHABORT ON; SET QUOTED_IDENTIFIER ON; SET ANSI_NULLS ON)的SP內沒有任何效果:
我也試圖打電話只是在SP中的代碼之前設置這些選項的開放連接。這再次沒有預期的效果。
看來,連接到數據庫而SP則到數據庫正在運行的設置是什麼事情,不當使用SP的設置。
我已經嘗試過在SSMS選項中使用這些設置,這似乎確實如此。 我只想有人確認這絕對是這種情況(如果有一種方法我很想聽到它,但我不希望)
不幸的是,更改安裝程序不是一種選擇我現在是這樣,所以我正在考慮不得不回滾幾個星期的工作;所以如果我確實必須這樣做,我想確定(並且有一些證據支持我),這是唯一的選擇
謝謝,這是完美的 – DannykPowell 2009-11-11 12:00:11