对象'employee_info',数据库'payroll'架构dbo上的INSERT权限被拒绝

时间:2014-01-16 23:21:35

标签: sql-server sql-server-2005 vb.net-2010

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim myconnection As SqlConnection
        Dim mycommand As SqlCommand
        Dim ra As Integer


        myconnection = New SqlConnection("server=IAI-004;uid=;pwd=;database=payroll")
        myconnection.Open()
        mycommand = New SqlCommand("INSERT INTO employee_info([employee_id],[first_name],[last_name],[middle_name],[email],[telephone],[gender],[status],[date_birth],[hire_date]) values ('" & Employee_idTextBox.Text & "','" & First_nameTextBox.Text & "','" & Last_nameTextBox.Text & "','" & Middle_nameTextBox.Text & "','" & EmailTextBox.Text & "','" & TelephoneTextBox.Text & "','" & GenderTextBox.Text & "','" & StatusTextBox.Text & "','" & Date_birthDateTimePicker.Text & "','" & Hire_dateDateTimePicker.Text & "')", myconnection)
        mycommand.ExecuteNonQuery()
        MessageBox.Show("New Row Inserted" & ra)
        myconnection.Close()
    End Sub

对象'employee_info',数据库'payroll'架构dbo

上的INSERT权限被拒绝

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:12)

您需要在SQL-Server(SSMS)中执行此操作(大概)。

右键单击SQL-Server中的表,并为用户授予INSERT权限。

(...)

  • 右键单击表格
  • 属性
  • 权限
  • (如有必要)添加用户或角色
  • 点击用户/角色
  • 权限插入,在“授权”框中添加复选标记。
BTW - 你可以通过TSQL直接做到这一点,但是如果你现在遇到这个问题(你提到你是新手),那么可能首先从GUI开始。

此外 - 假设您有权在SSMS中执行此操作。如果您不是DBA / DBO,那么您可能需要联系某人......: - )

答案 1 :(得分:1)

右键单击相关的应用程序池。 单击高级设置 识别身份, 选择LocalSystem

那应该做的。

如果之前提供的答案有效,则表示每次密码更改(必须在普通企业中更改)时,您还需要更新这些连接字符串,并且您不希望这样做。

答案 2 :(得分:0)

以管理员身份运行python,然后执行代码。那为我解决了问题。

答案 3 :(得分:0)

您可以通过重新运行上次add-migration 来解决此问题:

例如我最后的迁移名称是:initial

1:Add-Migration "initial" -force

2:Update-Database