使用具有有限权限的数据库用户,使用ADO.NET 2.0 sqlBulkCopy对象从C#方法执行批量插入到MS sql 2005数据库.当我尝试运行该操作时,我收到错误消息:
Bulk copy Failed. User does not have
ALTER TABLE permission on table
‘theTable’. ALTER
TABLE permission is required on the
target table of a bulk copy operation
if the table has triggers or check
constraints,but'FIRE_TRIGGERS'
or
'CHECK_CONSTRAINTS'
bulk hints are not
specified as options to the bulk copy
command.
我读了一些文档,并用构造函数创建了批量复制对象,让我指定这样的东西:
sqlBulkCopy bc = new sqlBulkCopy( System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"],sqlBulkCopyOptions.FireTriggers & sqlBulkCopyOptions.CheckConstraints);
但这并不会改变任何东西 – 我收到与以前一样的错误信息.我尝试使用一些其他sqlBulkCopyOptions值,但没有运气.我真的以为这会解决这个问题,我错过了什么吗?
我在表上向我的用户授予ALTER后测试过程,操作成功.然而,这不是我的情况的选择.