SQL Server に .NET アセンブリを埋め込むためのベスト プラクティス

StackOverflow https://stackoverflow.com/questions/72014

質問

SQL Server 2005 に埋め込まれる .NET アセンブリを作成するときに従うべき重要な慣行は何ですか?

私はこれについて全くの初心者ですが、次のような重要なメソッド属性があることを発見しました。

[SqlFunction(FillRowMethodName = "FillRow", TableDefinition = "letter nchar(1)")]

避けるべきよくある落とし穴なども探しています。

役に立ちましたか?

解決

私が覚えているもの:

  • 使用は最小限に抑え、T-SQL が複雑すぎることが判明した場合にのみ使用してください。
  • CLR コンテキストでは for ループが悪用されやすいため、ポインター/カーソルは絶対に避けてください。
  • どうしても必要な場合を除き、SQL Server のネイティブ データ型のみを使用してください。

どこでその情報を見つけたのか思い出せませんが、覚えているものはいくつかあります。

基本的に、宣言型 T-SQL が複雑すぎる場合、または実行できない場合 (レジストリ編集など) にのみ使用してください。

他のヒント

アセンブリの展開に関する 1 つのヒント:

小さなアセンブリ全体で機能を分離したままにします。基本アセンブリを置き換えると、依存するアセンブリを削除する必要があるため、依存関係チェーンを構築しないようにしてください。 初め, 、ベース アセンブリを更新する前に。

n 層アプリケーションを考えて、データベース サーバーに .net アセンブリを配置しないことを強くお勧めします。永続性< - ビジネスロジック< - プレゼンテーションロジック< - クライアントは、ロジックをビジネスロジックレイヤーに保持します。

データベースに .net を入れる唯一の理由は、新しい複雑なデータ型を追加することですが、これはデータを保持するだけで処理を行わないダム クラスであると強く思います。

できるからといって、そうすべきというわけではありません。質問に直接答えられなくてごめんなさい。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top