我正在使用具有有限權限的數據庫用戶,將C#方法中的ADO.NET 2.0 SqlBulkCopy對象批量插入到MS SQL 2005數據庫中。當我嘗試運行該操作時,收到錯誤消息:SqlBulkInsert - 如何設置觸發器,檢查約束?
批量複製失敗。用戶沒有 表 'theTable'上的ALTER TABLE權限。 ALTER TABLE 權限是必需上批量複製操作 的 目標表,如果該表具有觸發器或檢查約束 ,但指定 作爲選項來批量複製 命令
'FIRE_TRIGGERS'
或'CHECK_CONSTRAINTS'
散裝提示不是。
我看了一些資料,並與讓我指定這樣的事情的構造函數創建批量複製對象:
SqlBulkCopy bc = new SqlBulkCopy(
System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"],
SqlBulkCopyOptions.FireTriggers & SqlBulkCopyOptions.CheckConstraints);
但這不會改變任何東西 - 我像以前一樣得到同樣的錯誤消息。我試着擺弄一些其他的SqlBulkCopyOptions值,但沒有運氣。我真的認爲這會解決問題,我錯過了什麼?
我在對用戶授予表上的ALTER之後測試了該過程,並且操作成功。然而,這不適合我的情況。只有
公平的電話。哎呀! – gbn 2008-12-17 14:33:08