ODBCを使用して次のクエリを実行しているとき、私は進行中のデータベースからこのエラーを取得する:ODBCエラー
SELECT distinct Table.column,
{ fn CONVERT(SUBSTRING(Table.ProblematicColumn, 1, 60), SQL_VARCHAR)} as test
FROM PUB.Table
WHERE (Table.id IN (
SELECT Table.id
FROM PUB.Table
))
私はそれを使用してそれを修正することが可能です知っていますDBTools。ただし、複数のクライアントの複数のProgressデータベースに対してクエリを実行するため、毎回これを行うのは現実的ではありません。 また、何らかの理由で、私が使用しているODBCクライアント(PHP)は、このようなときにエラーを表示しません。代わりに、空の結果を返します。
サブクエリを追加するまでは、VAR_CHARを60文字に変換していました。サブクエリがそこにあるとき、私は再び同じエラーを得る。
興味深いことに、 'distinct'がそこにないとき、それは働いています。しかし、私は別個のものが必要です。
編集:問題は、DBToolで幅の列を固定せずにこのクエリを実行する方法です。
あなたは問題が何であり、どのように修正するかを知っています。しかし、あなたはそれを修正したくありません。あなたの質問は何ですか? –
質問は簡単です - クエリを実行してこのエラーを回避する方法。前述のように、 '{fn CONVERT}'を使用すると、メインクエリに役立ちました。サブクエリが関わっているときにどのように修正できるか – David
その質問に対する回答は簡単でよく知られています。 –