1

このストアドプロシージャを使用してユーザー権限を追加しようとしています。

exec sp_addrolemember db_datawriter, MYUSER

データベースはMSSQL2005であり、SQL Management Studio内では、承認されたWindowsログインを使用してストアドプロシージャが正しく機能します。

pyodbcを使用して、スクリプト言語としてPythonを使用して単純なHTMLCGIWebサイトを作成しました。また、pyodbcが接続するときに使用するローカルユーザー「dataviewer」ログインを作成しました。これは、Windowsログインと同じ次のサーバーロール権限を持っています。

ここに画像の説明を入力してください

Webサイトで、Pythonが使用したsqlコマンドをエコーバックし、SQL SMSに正確なコマンドをコピーして貼り付けると、ストアドプロシージャが正しく機能します。どこかでセキュリティの競合があるように見えますが、Windowsログインにはdataviewerログインと同じサーバーロール権限があるため、何が起こっているのかわかりません。

4

1 に答える 1

1

でトランザクションをコミットするか、接続文字列でConnection.commit()設定します。autocommit=True

于 2012-10-22T14:10:58.397 に答える