問題タブ [clrstoredprocedure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - CLR proc C# を使用してストアド プロシージャから while ループを置き換える方法
C# で CLR Proc を使用して SP からの While ループの両方を置き換えたい 誰かがこれを手伝ってくれませんか アプリケーションのパフォーマンスを最適化したい いくつかのより良い考えを歓迎します 事前に感謝します ここに私のコードスニペットがあります.
.net - Entity Framework を更新した後、再度コンパイルするまで CLR StoredProcedure が機能しなくなりました
SQL Server clr-how to call wcf service in clr sql storeed procedure in Visual Studio and
create a stored procedure
to call wcf service
but I update entity framework 4.5 to 4.5.1 on my server stored procedure not work and its error around ofSystem.ServiceModel
アセンブリ
私は古い質問に答えてすべてのステップを実行し、ストアド プロシージャを再度発行して動作させることを余儀なくされました。
しかし、私のSQLサーバーは2008 r2であり、エンティティフレームワーク3.5で動作するため、ストアドプロシージャとすべてのステップを再公開する必要があるのはなぜですか?
sql-server - clr ストアド プロシージャ呼び出し wcf サービスにパラメーター値がありません
CLR ストアド プロシージャによって呼び出される WCF サービスで、非常に奇妙な問題に直面しています。
基本的に、私のサービスは次のような要素の配列を期待しています:
//SQL/CLR
サービス内にブレーク ポイントを配置すると、C および E パラメーターのみが値を持つことを確認できます。
手がかりはありますか?
sql - すべての列の値を CSV として 1 つの列にマージします
行のすべての値をMS SQL Serverの1 つのフィールドに結合するにはどうすればよいですか?
私のテーブル形式が::であるとします
出力
area_name、city、state、postal_code、country の値を結合して、CSV 形式の 1 つの住所を作成する方法。
私のコード
c# - SQL CLR ルーチンから呼び出された PrincipalContext のエラー 6522
最初の CLR ルーチンを SQLServer 2008 に追加しようとしています (まもなく 2014 にアップグレードされます)。目標は、ユーザー オブジェクトを Active Directory に追加し、十数個の属性値を渡して、インターフェイスから ERP へのデータに基づいてユーザーを作成することです (インターフェイスは正常に機能し、データは適切です)。同僚が PrincipalContext をラップするコンパクトな C# クラスを作成し、実際に別の動作中のアプリケーションからコードを取得して、少し簡素化しました (以下を参照)。
CLR を有効にし、DB を TRUSTWORTHLY に設定するなどして、彼のコードと必要なリソースの CREATE ASSEMBLY を UNSAFE オプションを使用して実行することができました。これは、コードが Microsoft の精査された .NET クラスのサブセットの一部ではないためです。 SQLServer 内で実行します。
(すべての作成と後続の ALTER は正常に実行されます。ここで隠したカスタム クラス ライブラリ XXXXXXX_CLR を変更するたびに、最後の ALTER を変更します... CLR ストアド プロシージャは正常に作成され、ユーザーを保存しようとするまで OK を実行しますPrincipalContext オブジェクトを介して取得しているコードとエラー メッセージは次のとおりです。
このエラーに対する回答を探して 50 の Web ページを読みました。SQLserver がドメイン管理者として実行するユーザーを一時的に作成しました (開発システム - ひどい慣行だと思います)。ドメイン管理者権限を持つログイン SQL ユーザーから呼び出します。明示的な .NET AD 接続ドメイン管理者に渡す、ユーザーとパスワードのオプションを PrincipalContext への呼び出しから外す、SQLServer のユーザーまたは呼び出し元のユーザーの特権がそれを制御するかどうかを確認する、PrincipalContext コンストラクター呼び出しでオプションのさまざまな組み合わせを試す、など.
....残りの属性について....これは、FIM およびその他の C# ミドルウェア libary 呼び出しを使用して何年にもわたって行ってきました。詳細は無視してください...渡すパラメーターでカバーされた正しい AD 属性が確実にあります。しかし、ここですべてを公開したくはありません。
したがって、ここに常に表示されるエラーメッセージがあります(クラスライブラリCLR内に他の属性検証の問題があったため、C#CLRコードを正常に実行していることはわかっていますが、最終的にPrincipalContextへの呼び出しを行うところまで来て失敗しましたそこの):
Windows ID の「なりすまし」についていくつか読みましたが、関連するすべてのサービスがドメイン管理者特権として実行されているときに、AD で PrincipalContext 呼び出しを実行することさえできない場合、なぜそれが必要なのか理解できません。私はそのアプローチを実際には使用できないことを知っています (セキュリティ非スターター) が、それが機能しない理由と、ここで試してみるべき代替手段を知りたいと思います。実行しているサービス アカウントをドメイン管理者グループ BTW に配置した後、SQLServer をバウンスしました。
この長ったらしい問題の親切なレビューに感謝します。
c# - SQL Server CLR と T-SQL ストアド プロシージャは呼び出し元と同じですか?
ダミーのストアド プロシージャを作成するために、T-SQL をよく知らないので、C# で記述できるかどうか疑問に思っていました。
同じプロシージャの C# バージョンと T-SQL バージョンは、標準データベース ライブラリ クラスを使用する C++/C#/Java コードなどの呼び出しコードと区別できませんか?
c# - CLR ストアド プロシージャを使用したトランザクション内の TSQL ログ記録
トランザクションがロールバックされてもログが存続するように、トランザクション内の別のデータベースにログを書き込もうとしています。私はこの答えを読みました:
1 つの可能性は、CLR ストアド プロシージャを使用してログを記録することです。これにより、トランザクションの外部でデータベースへの独自の接続を開き、ログ データを入力してコミットできます。
そこで、この記事を使用して CLR ストアド プロシージャを作成しました。
ただし、SQL Server でストアド プロシージャを実行してロールバックした後、データは保存されません。
次の 3 つの環境があります。
dev
. サーバー名はQ-SQL001
test
. サーバー名はQ-SQL002
prod
. サーバー名はQ-SQL003
したがって、この CLR ストアド プロシージャはすべての環境で機能するはずです。
私が間違っていることを教えていただけますか?どんな助けでも大歓迎です!
アップデート:
というわけで作品版はこんな感じ。@ Milneyに感謝します: