問題タブ [biztalk-2010]
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.
oracle - Oracle データベースから Biztalk への (断続的な) 不適切な応答の原因は何ですか?
私のオーケストレーションには送受信ポートがあり、送信シェイプが見つかるまで、操作されるすべてのメッセージはまったく同じです。つまり、送受信ポートを介してOracleデータベースに送信するメッセージは同じです。
基本的に、最新の変更を希望するテーブルとテーブルの所有者を示すリクエストをデータベースに送信しています。前述したように、機能した更新と機能しなかった更新を比較すると、この時点まで、両方の要求メッセージは同じです。
問題: データベースからの応答は空である可能性があり、空であってはなりません。変更されたテーブルからの完全な行を期待していますが、何も受信しない場合があります。
詳細: これらのテストをトリガーする最も単純なフィールドのみを変更し、常に同じフィールドを変更しています。つまり、99 から 98 から 97 から 98 にデクリメントまたはインクリメントする整数フィールドなどです。最初は 1 つの数値が機能する可能性がありますが、 2番目ではないか、時にはその逆です。
他のフィールドでは、このエラーが発生する可能性があります。
詳細... : Oracle の機能に問題があるようです。つまり、タイムスタンプを処理する方法により、Oracle が空のレコードを返す可能性があります。これは、Biztalk が既に変更を通知されていると想定しているためです。データベースの内部を調べていると、最後の変更の試行がすべて正確に同じ秒にタイムスタンプされていることがわかりました (物理的に不可能です)。
また、Oracleにメッセージを送信しているときに、エラーを引き起こしているように見えることを2回行うようです(ちなみに、問題のテーブルにはトリガーがありません)。私のオーケストレーションでは、メッセージを送信する直前にイベントログに書き込みますが、そのメッセージは一度だけ書き込まれます...
Oracleの問題のようです。現在、一貫して機能するフィールドが機能せず、他のフィールドが機能する場合があります-以前は抽選の運が良かったと思います.
なぜ私はこれが起こっていると思うのですか: 私は、(データベースが私に言った) 変更されたクライアントを私に与えるように頼みます. それが機能するとき、Biztalk にメッセージを返すのは最初の取得であり、したがって、実際の情報を持っています。そうでない場合は、2 番目の検索で最新の変更が要求され、最初の検索で既に変更が取得されているため、空のレコードが返されるためです。
wix - Windows Server 2008 R2 で Wix ベースのインストール パッケージに 32 ビット カスタム BizTalk アダプターを登録できない
Windows Server 2008 R2 (Service Pack 1) 上の Wix v3.5 で作成された対応する 32 ビット .MSI パッケージから 32 ビットのカスタム BizTalk アダプターをインストールすると、非常に奇妙ですが 100% 再現可能な問題が見つかりました。
基本的に、インストーラーは正常に動作し、適切なファイルを Program Files (x86) フォルダーにコピーし、対応するレジストリ エントリを HKCU\Wow6432Node\CLSID の下に書き込み、アダプターを登録します。
BizTalk Server 管理コンソールで、Platform Settings\Adaptersフォルダーの下にアダプターを追加しようとすると、[アダプターのプロパティ] ダイアログ ボックスが表示されます。そこで、アダプターリストでカスタム アダプターを見つけてわかりやすい名前を付けることができますが、ダイアログ ボックスを検証しようとすると、次のエラーが表示されます。
トランスポート構成を読み取れません。アダプタ管理コンポーネントがローカル マシンにインストールされているかどうかを確認します。レジストリからトランスポート構成を読み取っているときに、"CLSID{7823EF8C-0D1E-4BC4-B110-2C16A0B8A63F}\BizTalk" キーの値を読み取れませんでした。システムは、指定されたファイルを見つけることができません。
それにもかかわらず、対応するレジストリ キーがそこにあることを確認できます。Windows レジストリ エディター (regedit.exe)、reg.exe コマンド ライン ユーティリティ、x86 PowerShell コマンド プロンプト、C# プログラムなどで確認できます。
さて、ここが奇妙な部分です。
レジストリ キーを一時的な .reg ファイルにエクスポートし、キーを削除してから、一時ファイルの内容を Windows エクスプローラーでダブルクリックして再インポートすると、アダプターを BizTalk Server 管理コンソールに正常に追加できるようになりました。 .
reg.exe コマンド ライン ユーティリティ (reg.exe /export; reg.exe /delete; reg.exe /import) を使用して同じ手順を実行しましたが、同じ結果が得られました。
私は何を間違っているのでしょうか?
私の WiX プロジェクト ファイルは、同じプロジェクト ファイルから32 ビットと 64 ビットの両方のプラットフォームをターゲットにできるように作成されています (ただし、2 つの連続したコンパイルがあります)。説明のために、スクリプトの適切な部分を次に示します。
私はこれについて完全に私の心を失っています!
biztalk - Biztalk でメッセージの処理中に ID を作成/使用する最良の方法は何ですか?
これまでのプログラム: 複数のスキーマ、オーケストレーション、メッセージの送受信を含むプロセスがあります。
私たちの願い: 進行状況を SQL サーバー テーブルに記録するときに、プロセス全体をリンクする ID を持つこと。
これまでのところ、進行状況を記録するテーブルがありますが、複数のメッセージがある場合、Biztalk は特定のメッセージを順不同で処理することがあるため、読むのは非常に困難です。
たとえば、次のようにすることができます。
一度に更新されるクライアントが 1 つだけの場合は、簡単に追跡できます。一方、これはより可能性が高くなります。
最後のリストをこの ID フィールドで並べ替えることができるように、全体に ID があると便利です。
これを行うための最良および/または最速の方法は何ですか? 最初のオーケストレーションのトリガーの最初の瞬間から ID を追加し、その値をすべてのスキーマとその後のオーケストレーションに渡し続けることを考えていました。これは大変な作業のようで、すべてのスキーマを変更する必要があります。これは間違っているようです。
そのようなIDを持ちたいと思うべきでしょうか? 頭に浮かぶ他の解決策はありますか?
biztalk - 外部アセンブリから返された DataTable を BizTalk マップで使用できる Functoid はどれですか?
インデックス Functoid を使用できると考えましたが、最初のパラメーター (外部アセンブリを呼び出すスクリプト Functoid) が気に入らないようです。通常の緑色のチェック マークの代わりに赤い X が表示されます。
可能だと思うのは、Index Functoid がまったくエラーを出さないことです。問題なくコンパイルおよびデプロイされます。問題は、マッピングが行われないことです。エラーが返されないため、壊滅的な障害 (IMO) が発生します。
では、BizTalk マップで DataTabe/DataRow/DataSet を返す外部アセンブリを使用する方法はありますか?
biztalk - BizTalkWCFLOBインターフェイスの構成
oracle関数を実行して結果を取得しようとしています。送信ポートの設定について質問があります。
SOAPアクションヘッダーにはアクションが1つだけあります。
結果を得るには別のアクションが必要ですか?
パイプラインをxmlに設定するか、パススルーする必要がありますか?
別のアクションが必要ない場合、操作の名前は重要ですか?送信ポートとオーケストレーションの間で一致する必要があります。
これがどのように機能するかについての良い参考資料はありますか?
oracle - WCF OracleDB の受信場所が、テーブルの実際の更新ではなく、FK によってトリガーされるのはなぜですか?
受信場所での奇妙な動作:
RL_REPRESENTATIVEは REPRESENTATIVE テーブルからの通知を待っています (フィールド: (PK)id、fname、lname など)。
RL_CLIENT_REPRESENTATIVEは、CLIENT_REPRESENTATIVE テーブル (フィールド: (FK)id_rep、(FK)id_client) からの通知を待っています。
両方の場所がアクティブで、 CLIENT_REPRESENTATIVE.id_rep テーブルの変更をコミットすると、いくつかの警告が表示されます (明らかにRL_REPRESENTATIVEから)。
と
The adapter "WCF OracleDB" raised an error message. Details "The WCF service host at address oracledb://d01-isis:1521/D01ISIS/Dedicated?CallingTable=REPRESENTATIVE has faulted and as a result no more messages can be received on the corresponding receive location. To fix the issue, BizTalk Server will automatically attempt to restart the service host.".
それ以外の場合、CLIENT_REPRESENTATIVE の変更によってアクティブ化されるプロセスは問題なく実行されます。
(代わりに、CLIENT_REPRESENTATIVE の id_client を更新すると、CLIENT テーブルからの通知をサブスクライブする別の受信場所からエラーが発生します。)
さらに2つの手がかり:
RL_REPRESENTATIVEを無効にすると、警告は表示されません。
CLIENT_REPRESENTATIVE.id_rep と REPRESENTATIVE.fname の両方を更新し、同じトランザクションで両方をコミットすると、警告は表示されません。
どちらのテーブルにもトリガーがなく、すべてのタイムアウトがほぼ 24 時間に設定されていることに注意してください。
FK 制約は、最終的にポートに通知を送信する方法で機能すると思われますが、受信するはずの実際のメッセージを取得することはありません。
質問: Oracle には、この動作を制御するパラメーターはありますか? この問題に遭遇した Biztalk 開発者はいますか?
biztalk - BizTalk Server 2010 - ライセンス キーを変更できますか?
BizTalk のライセンス キーを簡単に変更する方法はありますか? 私は特に 2010 について話していますが、該当する場合は、他のバージョンに関する情報も歓迎します。
私が考えることができる唯一のことは、危険と戦っているように見えるレジストリを検索することです.
誰もこれに遭遇しましたか?
.net - BizTalk オーケストレーションのスロットリング
BizTalk 2010 で一度に実行できるオーケストレーションの最大数を設定しようとしています。ホスト レベルでオーケストレーションのスロットリングを指定でき、一時停止と再開を指定するオプションがあることがわかりました。仕様 (ホスト設定の「オーケストレーション調整」タブ)。
MSDN で見つけた限られたドキュメントを読んだことに基づいて、「一時停止」設定に指定された数で、BizTalk が「一時停止」し、アクティブなオーケストレーションの数が < = Resume at 設定の仕様。これは正確な解釈ですか?
biztalk - 宛先メッセージの複数のインスタンスを生成するためのマップ
最初の質問:)
以下に、私が作成したマップの写真が表示されます。TransHeader レコード (データセットの孫、行の子) を、送信ポート (ストアド プロシージャを呼び出すための WCF-SQL) に関連付けられる宛先スキーマにマッピングしています。
その送信ポートを使用すると、TransHeader レコードの最初のインスタンスのみがマップされ、SQL サーバーに送信されます。明らかに、スキーマを見ると、受信スキーマに複数の TransHeader が存在する可能性があることがわかります。各インスタンスを挿入したい。
何かご意見は?
写真:
sql-server - BizTalk 2010 で使用する DAL の種類
ビジネス レイヤーを、多くのアプリの標準アーキテクチャとして WCF サービスとして公開されている BizTalk オーケストレーションに置き換えることを考えています。基本的に、ASP.NET および WinForms アプリはこれらのサービスを呼び出して、特に多くの LOB データベースのデータを取得および更新します。一部のサービスは、パートナーにも公開されます。
データ アクセスに関しては、確かに SQL アダプターを使用できますが、それは最もクリーンな方法ではないと思います。また、SQL Server と密接に結合されているという事実も、私にとっては悪い考えです。Entity Framework ベースのカスタム DAL、または SubSonic などのツールから生成されたものを使用したいと考えています。
これは良い考えですか?私の Google 検索では、この種のことを行っている人や、それがどのように機能したかについてのコメントを見つけることができません。
これについてどう思いますか?データをキャッシュする場所、同時実行の問題などに関するアイデアはありますか?