web-dev-qa-db-ja.com

オブジェクト 'employee_info'、データベース 'payroll'スキーマdboに対するINSERT権限が拒否されました

 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権限が拒否されました

この問題を解決するにはどうすればよいですか?

13
jepoy

これは(おそらく)SQL-Server(SSMS)で行う必要があります。

SQL-Serverでテーブルを右クリックし、ユーザーにINSERT権限を付与します。

(...)

  • テーブルを右クリック
  • プロパティ
  • 許可
  • (必要な場合)ユーザーまたはロールを追加する
  • ユーザー/ロールをクリックします
  • 許可挿入、「付与」ボックスにチェックマークを入れます。

ところで、これはTSQLを介して直接行うことができますが、この問題が発生している場合(新規であると述べた場合)は、上記のGUIから始めてください。

また、これは、SSMSでこれを行うためのアクセス権があることを前提としています。あなたがDBA/DBOでない場合は、誰かに連絡する必要があるかもしれません... :-)

16
Chains

関連するアプリケーションプールを右クリックします。 [詳細設定] [IDの識別]をクリックし、[LocalSystem]を選択します

それでうまくいくはずです。

以前に提供された回答が機能する場合、それは通常のエンタープライズで変更する必要があるパスワードが変更されるたびに、これらの接続文字列も更新する必要があり、それを実行したくないことを意味します。

2
Cardmore Chiro

pythonを管理者として実行してからコードを実行します。これで問題が解決しました。

0
Mugsy