問題タブ [script-task]
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.
sql-server - SSIS スクリプト タスクの検証エラー
SSIS スクリプト タスク (SSIS 2015) で次のエラーが発生します。
var:Error へのデータの追加: スクリプトのバイナリ コードが見つかりません。[スクリプトの編集] ボタンをクリックしてデザイナーでスクリプトを開き、正常にビルドされることを確認してください。
いくつかのオンライン調査を行い、検索結果に基づいて次のことを確認しました。
- 遅延検証が true に設定されました
- ビルドは x86 に設定されています
- 32 ビット コンパイラで実行するには、このスクリプトが必要です
SQLServer (SSMS) Integration Services カタログ (ジョブとしてではなく) でデプロイされたパッケージとして実行すると失敗する
c# - リンクが原因でバイナリが見つからないため、SSIS スクリプト タスクが既存のファイルをプロジェクトに追加する
これは簡単だと思いましたが、そうではないと思います。これが何が起こっているかです。新しいパッケージを作成し、それにスクリプト タスクを追加します。スクリプト タスクを開き、スクリプトを編集します (C# 2010)。ソリューション エクスプローラーで、プロジェクト名 (ST_xxxxxx) を右クリックします。「追加->既存のアイテム」を選択します。ファイル エクスプローラーでドキュメント フォルダーに移動し、空のクラスである "test.cs" を (ダブルクリックではなく) 選択します。ファイル エクスプローラー ウィンドウの右下にある [追加] ボタンの横にある下矢印をクリックし、[リンクとして追加] を選択します。テストするには、"Build->Build ST_xxxxx" を選択します。ビルドは成功します。保存して、スクリプト タスク VS エディターを閉じます。次に、スクリプト タスク エディタ ウィンドウで [OK] をクリックします。 「スクリプト エラー」ウィンドウが表示されます。「パッケージに含まれるスクリプトにコンパイル エラーがあります」。 保存すると、タスクのエラーに「スクリプトのバイナリコードが見つかりません」と表示されます
これを回避する方法はありますか?
同じプロセスを経て、[リンクとして追加] の代わりに [追加] を選択すると、問題なく動作します。ただし、これによりファイルのコピーが作成されるため、手動で更新する必要があります。頻繁に使用する共通の cs ファイルにリンクし、更新する必要がないようにしたいと考えています。
どんな助けでも大歓迎です。
c# - C# の REPLACE 関数に Case ステートメントを追加する
まず第一に、私は ac# の人ではないので、これについてはご容赦ください。SSIS 内のスクリプト タスクで、出現する "D:" を "d$" に置き換える必要があります。確かにこれを行うには置換機能を使用しますが、問題は、これが別の行で意図しない結果をもたらしていることです。
たとえば、スクリプト タスクは電子メールを送信し、電子メールのヘッダーは \servername\d$ \further_path として読み取られます。メール本文は「UID:1:MESSAGE」
メールを送信するコード行は次のようになります。
私が得る現在の出力は次のとおりです。
意図した出力は次のとおりです。
ログ フォルダの行と UID の行を見てください。
置換関数を使用すると、d$ シンボルによってボディラインも影響を受けます。これを回避しようとしています。C# で条件付き REPLACE 関数を記述できますか、またはこれに対処する他の方法はありますか?
ありがとう、RV。