2016-06-22 5 views
2

SQL Server 2008を使用して、リンクサーバーを使用して別のサーバーからデータを取得しています。データ値がプロバイダによって使用されているデータ型をオーバーフローしているため、オープンクエリの変換に失敗しました

SELECT * FROM OPENQUERY (METER, 
     'SELECT 
      ME.Col1 
      ,ME."ext"    AS ext   
      ,ME."t-date"    AS Date 
      ,ME."per-id"     AS Person 
      ,PE."con-id"    AS Contact 
      ,PE."add-id"    AS Address 
      ,SC."contact-title"   AS Member 
      ,SC."given"    AS Giver 
      ,SC."surname"    AS lastname 

     FROM PU."member" ME 
      LEFT JOIN PU."personal" PE 
       ON ME."per-id" = PE."per-id" 
      LEFT JOIN PU."cont" SC 
       ON PE."contactid" = SC."contactid" 

     WHERE ME."t-date" IS NULL 
      OR ME."t-date" >= NOW()') 

私はエラーを取得しています:

OLE DB provider "MSDASQL" for linked server "METER" returned message "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.". 
    Msg 7341, Level 16, State 2, Line 1 
    Cannot get the current row value of column "[MSDASQL].T_DATE" from OLE DB provider "MSDASQL" for linked server "METER". Conversion failed because the data value overflowed the data type used by the provider. 

私はどこ条件を削除し、これを実行する場合は、私も同じエラーを取得しています。だから私は "日付"はここで問題を引き起こしていないと思う。私が間違っているなら、私を訂正してください。

、SC。 "contact-title" ASメンバを上記のクエリから削除すると、結果がわかり、うまく動作します。各フィールドのデータの

長はスキーマで記述長さよりも小さくなければなりません:

は私がいるという情報を得ました。特定の文字として定義されたcontact-titleでは、データはそれより小さくする必要があります。 - これは分かります。

私の質問は選択クエリです。データを取得しようとしていますが、どこにも挿入していません。しかし、なぜこの文字の長さのミスマッチなのでしょうか?私の理解によれば、私はそれをどこかに挿入している場合、問題がある可能性があります。しかし、選択するだけで問題を起こすべきではありません。

サードパーティのサーバーからデータを取得して表示しています。私の最後/私のデータベースに問題がありますか?はいの場合、どうですか?

誰もが同様の問題に直面しており、これを解決する方法はありますか?

+0

あなたは** ASメンバー**との間で '、SC。" contact-title "'を試すことができますか? –

+0

リンク先のサーバーとは何ですか?別のSQLサーバーまたはOracleサーバー? OPENQUERY自体でT-DATEをDateTimeに変換してみてください(MSSQLの場合)。また、Oracleの場合、ミリ秒フィールドの長さが長すぎる可能性があります。 – Sam

+0

@Sam、細かいことを教えてもらえますか?これをどのように変換したいですか?どのような例でクエリを見れば助けになるのでしょうか? – AskMe

答えて

0

SCの "contact-title"を部分文字列(SC。 "contact-title"、1,14)に変更しました。注:SUBSTRとSUBSTRINGの両方が正常に動作しています。

関連する問題