2016-07-14 26 views
0

SSISおよびSQL Serverの新機能です。私はウェブ上で多くの読書をしており、購入するために本や2を見ています。構文エラー:連結 - 派生列 - 2列+定数文字列

私は一定の文字列といくつかのダッシュと2つの列を持つ新しい列を達成しようとしています。 しかし、私はそれも近くになっていません。ダッシュなしとテキストなしで2つの列を取得できますが、目標を達成できません。 私はTechNetとMicrosoft SSISのページだけでなく、ここで検索/読んだが、まだ苦労しています。 構文を教えてもらえますか?ご支援いただきありがとうございます。

結果:DtMMP-202-PA-A97-1

環境:

新しい列には、次の(ない適切な構文)のようになる:

理想のゴールは何かに似ていますMMID列は整数 PymtAuth列であるnvarchar100

"DtMMP-" + [MMID] + "-PA-" + [PymtAuth] 

望ましい結果である:DtMMP-202-PA-A97-1

フロントエンド文字列を削除しても2列を結合しても失敗します。

[MMID] + "-PA-" + [PymtAuth] 

私も別々だと2つの整数フィールド...

[MMID] + '-' + [RegID] 

を試してみました、私は除外した場合は「 - 」それはそれを受け入れるように思われるが、破線が必要とされています。

目的は以下のとおりです。

"DtMMP-" + [MMID] + "-PA-" + [PymtAuth] 

結果:DtMMP-202-PA-A97-1

ありがとうございました。


MMライブラリから機会を作成し、[派生列[391]]で "DtMMP-" + [MMID] + "-PA-" + [PymtAuth] がエラーを生成します

エラー:データ型"DT_WSTR"と "DT_I4"は2項演算子 "+"に対しては互換性がありません。オペランド型を暗黙的に互換性のある型にキャストすることはできませんでした。この操作を実行するには、一方または両方のオペランドをキャスト演算子で明示的にキャストする必要があります。

MMライブラリから機会を作成する際のエラー[派生列[391]]:DtMMP- "+ MMID"の結果の型を設定しようとしましたが、エラーコード0xC0047080で失敗しました。

[派生列[391]]:式 "DtMMP-" + [MMID] + "-PA-" + [PymtAuth]の計算がエラーコード0xC0047084で失敗しました。この式には、解析時に検出できないゼロで割るなどのエラーがあるか、メモリ不足エラーが発生することがあります。

MMライブラリから機会を作成するときのエラー[派生列[391]]: "派生列"の "DtMMP-" + [MMID] + "-PA-" + [PymtAuth]出力]。列[派生列2] "は無効です。

[派生列[391]]:「派生列.Outputs [派生列出力] .Columns [派生列2]」でプロパティ "式"を設定できませんでした。


追加情報:HRESULTから

例外:0xC0204006(Microsoft.SqlServer.DTSPipelineWrap)

+1

をDT_WSTRするMMIDを変換する必要があり、この

"DtMMP-" + (DT_WSTR,4)MMID + "-PA-" + PymtAuth 

をお試しください何かエラーが出ますか?その場合は、番号 – FLICKER

+0

BTWと連結するときに[MMID]を文字にキャストする必要があります。データベースエンジンは何ですか? sqq-serverはMicrosoftSQL Serverであり、mysqlとは異なります – FLICKER

+0

あなたの応答はちらつきありがとうございます...使用するとMicrosoft SQL Server 2014とyes 私が得ているエラーは以下の通りです。原理的にはデータタイプの混合ですが、問題を解決する方法は不明です。 キャストが私の答えならば、キャストに関するもう少し調査をします – DJJ

答えて

0

はあなたが行う

+0

2つのもの。 1st - これはトリックでした!第2回はどのように見えるべきかについて非常に具体的であることに感謝します。完全な構文。 – DJJ

+0

私はまた、文字列に全体を配置するためのいくつかの追加のガイダンスを持っています - あなたの考えは何ですか? (DT_STR、50,1252)( "DtMMP-" +(DT_WSTR、50)MMID + " - PA-" + [PymtAuth]) – DJJ

+0

大変ありがとうございます! – DJJ