Delphi/ado/odbc を使用して mysql サーバーに接続しています。次のステートメントを実行した後:
SHOW CREATE VIEW aViewName
結果セットの [Create View] フィールドに、非常に長い文字列 (> 4096 文字) が含まれています。コンテンツの長さは正しいですが、いくつかのゴミ文字が追加された 4096 バイトが適切でした。
これは mysql odbc ドライバーのバグですか、それとも ADO の制限ですか?
回避策を見つけました。「SHOW CREAT VIEW ...」を使用する代わりに、次のステートメントを実行して、information_schema を使用してビュー作成 SQL を取得します。
SELECT * FROM information_schema.VIEWS where TABLE_NAME="aViewName"
選択結果に対応するテーブル構造がない場合 (例: "SHOW CREATE ..." または "SELECT 'something more than 4096 chars'")、ADO または ODBC ドライバーは varchar(4096) を使用して文字列コンテンツを想定します。
コメントしてくれてありがとう。