1

私の会社には、 Progressデータベースで実行されるサードパーティのアプリケーションがあります。ODBC接続を使用して、データベース上にアプリケーションを構築しています。

Progress の「癖」の 1 つは、SQL 列の幅を考慮しないため、varchar(50) として定義された列に 100 文字を許可することです。ODBC 経由でこのデータを読み取ると、次のエラーが発生します。

表 PUB.test_table の列 test_column に、その最大長または精度を超える値があります。

アプリケーションを構築した会社のサポート技術者は、ODBC 接続用のレジストリにいくつかの回避策フラグを追加するように私に指摘しましたが、これらのフラグが何をするのか、または可能な値が何であるかに関するドキュメントは見つかりません。レジストリキーは

KEY_CURRENT_USER->Software->ODBC->ODBC.INI->MyODBCConnectionName->WorkArounds KEY_CURRENT_USER->Software->ODBC->ODBC.INI->MyODBCConnectionName->WorkArounds2

Googleは、これらのフラグに特定の値を追加することで人々が解決した他の問題を見つけました(The Daily WTFからの私の個人的なお気に入りを含む)が、フラグが実際に何をするかを教えてくれる場所はどこにもありません。あなたは知っていますか?

4

3 に答える 3

2

Progress が KB を移動したため、@tom-bascom からのリンクは機能しなくなりました。@mdb の質問に対する @stefan-moser のコメントは適切です。

DataDirect Connect Series for ODBC ReferenceのChapter 11 WorkAround Optionsによると

回避策 2 = 8192。このオプションを有効にすると、Microsoft Access はエラー -7748 を渡さなくなります。Microsoft Access は、データを 2 バイトの SQL_C_WCHAR としてのみ要求します。これは、UCS2 文字とヌル ターミネータを格納するにはバッファ サイズが不十分です。したがって、ドライバは警告「01004 Data truncated」を返し、Microsoft Access に null 文字を返します。その後、Microsoft Access はエラー -7748 を渡します。

参照:

于 2012-01-05T01:58:27.957 に答える
0

これは次の修正です。

「このエラーは、Connect for ODBCドライバーを使用して、1つ以上のインデックスが関連付けられているテーブルにリンクするときにMicrosoftAccess2000で発生します。」

DataDirectサポートKB

于 2009-06-17T15:12:21.887 に答える
-1

DataDirect Connect for ODBC (Unix ベースの ODBC ドライバー)のREADME ファイルには、ドキュメントの「ドライバーの回避策のオプション」セクションに回避策のリストが含まれています。

于 2008-10-07T21:19:39.570 に答える