0

PHP を使用して、ビジュアル Foxpro 9 データベースにデータを入力しています。

私の問題は、ODBC ドライバーがメモ フィールドに 255 文字の制限を課していることです。

問題を回避するために、次を使用してみました。

$sSQL = 'Insert Into detail (IT_DOC,IT_MEMO) values (?,?)';

$stmt = odbc_prepare($conn, $sSQL);
$res = odbc_execute($stmt, array($head['IT_DOC'] , $text));

ただし、これによりエラーが発生します。

Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][ODBC Driver Manager] 
Driver does not support this function, SQL state IM001 in SQLDescribeParameter in C:\inetpub\wwwroot\import.php on line 149

これを解決するための助けをいただければ幸いです。

4

3 に答える 3

1

FoxPro を最後に使用したのは少し前のことなので、これは正しくない可能性があります。しかし、この問題が発生したとき、INSERT または UPDATE ステートメントに空の文字列を書き込むことで回避したと思います。

次に、文字列を 250 文字以下のチャンクに分割し、それらを次々に追加してメモ フィールドを更新し、元の文字列を再作成します。

しかし、それは恐ろしい、恐ろしい方法です。

于 2012-06-26T16:10:39.827 に答える
1

うーん... FoxProが嫌いな人...しかし、私は1987年以来、それと一緒に暮らしてきました. 当時は、高価な DBA を必要とせず、完全に自己完結型のデータベースと GUI を備えた、最も優れた最速のデータベースの 1 つでした。

ODBC ドライバーは使用しませんが、Microsoft から最新の OleDB ドライバーを入手してください。

于 2012-06-27T02:25:23.123 に答える
0

OLE DB ドライバーを使用する必要があります。

これは役立つかもしれません:ネットワークフォルダーにいる場合、OleDB経由でfoxpro * .dbcに接続できません

于 2012-06-27T09:56:53.077 に答える