链接服务器"***"的OLE DB访问接口"SQLNCLI"返回了消息 "多步OLE DB操作产生错误。如果可能,请检查每个OLE DB状态值。没有工作被完成。"由于列“did”,链接服务器"***"的OLE DB访问接口"SQLNCLI"无法INSERT INTO表"[TXJSW].[WXJS_drug].[dbo].{drugacc}".用户没哟写入该列的权限。急等,拜托各位大侠了

解决方案 »

  1.   

    GRANT — 赋予一个用户,一个组或所有用户访问权限语法
    GRANT privilege [, ...] ON object [, ...]
    TO { PUBLIC | GROUP group | username } 
      

  2.   

    grant insert on table_name to user_name----给用户赋予 某表 写 入数据 的权限
      

  3.   

    授予对表、视图、表值函数、存储过程、扩展存储过程、标量函数、聚合函数、服务队列或同义词的权限。
    GRANT <permission> [ ,...n ] ON 
        [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
        TO <database_principal> [ ,...n ] 
        [ WITH GRANT OPTION ]
        [ AS <database_principal> ]<permission> ::=
        ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]<database_principal> ::= 
            Database_user 
        | Database_role 
        | Application_role 
        | Database_user_mapped_to_Windows_User 
        | Database_user_mapped_to_Windows_Group 
        | Database_user_mapped_to_certificate 
        | Database_user_mapped_to_asymmetric_key 
        | Database_user_with_no_login以下示例授予用户 RosaQdM 对 AdventureWorks 数据库中表 Person.Address 的 SELECT 权限。USE AdventureWorks;
    GRANT SELECT ON OBJECT::Person.Address TO RosaQdM;
    GO
      

  4.   

    还有一种可能就是: 你这个用户有写权限,但是 限制了对某列做 插入或修改或删除的权限。在SQLSERVER里 列是可以单独授权。
      

  5.   


    GRANT INSERT(列名) ON [dbo].[表名] TO [用户]
      

  6.   

    grant insert on drugaccount to 'sa'
    报语法错误
    grant insert on drugaccount to sa
    无法对用户‘sa’执行查找,因为它不存在,或者您没有所需的权限为什么去掉单引号 结果就不一样了啊 ,但是都不能添加权限
      

  7.   


    前提是你可以给这个表授权,如果可以的话使用 GRANT 参考5楼的,
    如果你不能给这个表授权的话,联系此服务器管理员帮你授权