0

ユーザー定義関数/ストア プロシージャ、またはファイル名が渡されたときに後で処理するためにファイルの内容を変数に読み込む別の SQL メカニズムを作成したいと考えています。このメカニズムは、トランザクション内で機能する必要があります。

私の計画はユーザー定義関数を使用することでしたが、OPENROWSET 関数ではファイル名として変数を渡すことができないため、「sp_executesql」ステートメント内で実行する必要があり、関数は非決定論的になります。

非決定論的な機能を回避するために使用できる回避策はありますか?

4

2 に答える 2

0

CLRオプションを使用すると、必要なものが正確に得られます(@Dewfyのコメントを参照)が、別のオプションはbulk insert、データが許可されている場合は a を実行することです。複数のユーザーが一度にこれを行うと問題が発生しますが、おそらくあなたの状況ではこれが可能ですか??

于 2013-10-15T15:20:38.303 に答える
0

はい、開発者が提供する DLL から SQL Server によって呼び出される、いわゆる「CLR 関数」関数を使用できます。詳細については、http://technet.microsoft.com/en-us/library/ms189876.aspxを参照してください。

ただし、サーバー側からファイルを処理することは、セキュリティ上の大きな問題を伴うスケーラブルなソリューションではないことに注意してください。

于 2013-10-15T15:07:15.100 に答える