1

私が得るエラーは次のとおりです。

The column "EngDescAlt" (compile-time ordinal 2) of object "select * from MstBusiness" was reported to have a "DBCOLUMNFLAGS_ISLONG" of 128 at compile time and 0 at run time.

いくつかのテーブルのさまざまな列で同じエラーが発生します。毎回の唯一の違いは列名とテーブル名であり、修正方法がわかりません。何か案は?

ちなみに、OpenQuery の使用は機能しません。それは私が既に使用していたものです。

どんな助けでも大歓迎です。

SELECT     Z_ID AS BusinessID, EngDescAlt AS Description
FROM         OPENQUERY(<LinkedServer>, 'select * from <Tablename>') AS U2_<Tablename>
4

2 に答える 2

2

何らかの理由で、サーバーで MS SQL SERVICES を再起動すると問題が解決しました。修正された問題と関係があり、実行するには再起動が必要だったようです。申し訳ありませんが、何が問題を解決したかについて、より具体的には言えません。

于 2013-10-30T07:50:41.627 に答える
1

質問を編集して、クエリを投稿したことに気付きました。
デバッグの優れた方法は、目標に向かって小さなステップをテストすることです...これにより、どのステップでエラーが発生したかを正確に確認できます。

まず、ターゲット サーバーに直接接続して、OPENQUERY を使用せずにクエリをテストできますか?
その場合は、SSMS (SQL Server Management Studio) 内から単純な選択を試してください。

SELECT Z_ID AS BusinessID, EngDescAlt AS Description  
FROM <Tablename>

それが機能する場合は、次を試してください。

SELECT Z_ID AS BusinessID, EngDescAlt AS Description 
FROM (select * from <Tablename>) AS U2_<Tablename>

そして、(リンク サーバーとしてではなく) そのターゲット サーバーに直接接続されているクエリ ウィンドウで、SSMS で openquery を実行してみてください。

SELECT Z_ID AS BusinessID, EngDescAlt AS Description
FROM OPENQUERY(<LinkedServer>, 'select * from <Tablename>') AS U2_<Tablename>

最後に、質問: OPENQUERY をどのような環境で実行していますか? 別のサーバー/ワークステーションの SSMS 内からですか? それとも、他の環境/言語/ツールからのものですか? SSMS で openquery を実行していない場合は、リンク サーバーとしてアクセスしてみてください。

そして、結果やメッセージを報告してください。

于 2013-10-25T15:43:46.197 に答える