SQL Serverは、コンポーネント 'Ole Automation Procedures'のプロシージャ
sys.sp_OACreate
へのアクセスをブロックしました。これは、このコンポーネントがこのサーバーのセキュリティ構成の一部としてオフになっているためです。システム管理者は、sp_configureを使用して「Ole Automation Procedures」の使用を有効にできます。 「自動化手順」の有効化の詳細については、SQL Server Books Onlineの「表面領域の構成」を参照してください。
Ole Automation Proceduresを次のように有効にしようとしました。
sp_configure 'show advanced options', 1
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE;
クエリを実行すると、出力が正常に取得されます。しかし、Windowsフォームを試すと、このエラーが発生します。私を助けてください
次の例は、OLE Automationプロシージャの現在の設定を表示する方法を示しています。
EXEC sp_configure 'Ole Automation Procedures';
GO
次の例は、OLE Automationプロシージャを有効にする方法を示しています。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
Ole Automationの手順を有効にすることは、問題の一部にすぎません。実行を許可する必要があります。
GRANT EXECUTE ON master..sp_OACreate to [??]
GRANT EXECUTE ON master..sp_OASetProperty to [??]
GRANT EXECUTE ON master..sp_OAMethod to [??]
GRANT EXECUTE ON master..sp_OADestroy to [??]
[??]は、マスターにアクセスできるユーザー/ロールでなければなりません。
[Ole Automation Procedures]オプションは、目的のサーバーインスタンスを右クリックし、[ファセット]を選択して[ファセットの表示]ダイアログを開くことにより、SSMSで構成することもできます。 [全般]ページの[ファセット]ドロップダウンリストで、[表面領域の構成]を選択します。 OleAutomationEnabledは、表示されるファセットプロパティのリストのオプションです。 True =オン。 (実行内容によっては、XPCmdShellEnabled設定も有効にする必要があります。)他の人が書いているように、この設定を有効にすることはお勧めしませんshouldインタフェース。
これを実行してみてください3
sp_configure 'show advanced options', 1
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1
GO
RECONFIGURE;
GO
sp_configure 'show advanced options', 1
GO
RECONFIGURE;