ホームページ >バックエンド開発 >PHPチュートリアル >php odbc が vfp9 テーブルにアクセスすると、テーブルではないというメッセージが表示されます。

php odbc が vfp9 テーブルにアクセスすると、テーブルではないというメッセージが表示されます。

WBOY
WBOYオリジナル
2016-06-23 14:14:151251ブラウズ

PHP odbc vfp9

odbc を使用して vfP テーブルにアクセスします。 コードは次のとおりです
<?header("Content-Type: text/html; charset=gb2312");$myconn=odbc_connect("vfp1","","");$strSql="select * from `xxku1`";$result=odbc_do($myconn,$strSql);?><table ><?while(odbc_fetch_row($result))//通过循环读取数据内容{?><tr><td align="center" height="19"><?echo odbc_result($result,1)?></td><td align="center"><?echo odbc_result($result,2)?></td><td align="center"><?echo odbc_result($result,3)?></td></tr><?}odbc_close($myconn);?></table>


vfp6 テーブルを使用する場合は、すべてが正常ですが、vfp9 テーブルが変更されると、それがテーブルではないというメッセージが表示されます。 vfp9 テーブルにはもう 1 つフィールドがあり、これは自動インクリメント タイプです。このフィールドを削除することでアクセスできます
自動インクリメント フィールドを持つテーブルにアクセスしたい場合はどうすればよいですか?
インターネット上の誰かが言いました。 OLE DB を使用するために OLDdb vfp もダウンロードしましたが、使い方がわかりません

ディスカッション (解決策) への返信

最新の進捗状況、ADODB の使用も失敗しました

$strSql="select * from ` xxku1`";
このように記述できるのは mysql だけです
したがって、vfp のどのバージョンを使用しても、正しい結果は得られません

VFPODBC.msi (パッケージ名 VFPODBC.rar) をダウンロードしてインストールします

$ strSql="select * from `xxku1`";
このように記述できるのは mysql のみです
したがって、vfp バージョンを使用しても、正しい結果は得られません

VFPODBC.msi (パッケージ名 VFPODBC.rar) をダウンロードし、インストールしてください
VFPODBC.msi がインストールされています
この書き方は、VFP 6 のテーブルでは正常に機能しますが、vfp9 で自動インクリメントフィールドを含むテーブルを変更するだけではエラーが報告されます

自動インクリメントフィールドは、ライブラリ (dbc)
したがって、odbc ソースはフリー テーブル (dbf) ではなくライブラリ (dbc) である必要があります

自動インクリメント フィールドはライブラリ (dbc) でのみ有効です
したがって、odbc ソースはライブラリ (dbc) である必要があります) フリーテーブル (dbf) ではなく
自動インクリメントフィールドはフリーテーブルでも使用されます
この ODBC ソースを dbc に変更し、このテーブルを追加して再試行すると、同じエラーが報告されます

その後、インストールできます。 vfpoledb をもう一度インストールして試してください

次に、vfpoledb を再度インストールして試してください

をインストールしましたが、使い方がわかりません ....

<?#include('adodb5/adodb.inc.php'); header("Content-Type: text/html; charset=gb2312");$conn = new com("ADODB.Connection");$connstr = "drive{Provider=vfpoledb;dsn=vfp_sys_ftb};Data Source=F:/DFXT/XJJ;Collating Sequence=machine;";$conn->Open($connstr);#$conn = &ADONewConnection('VFP');#$dsn="Driver={Provider=VFPOLEDB.1};SourceType=DBF;SourceDB=f:/dfxt/xjj;Exclusive=No";#$conn->Connect($dsn);$strSql=$conn->Execute("select * from xxku");?>

エラー メッセージ

header("Content-Type: text/html; charset=gb2312");$conn = @new com("ADODB.Connection") or die ("ADO连接失败!"); $connstr = "Provider=VFPOLEDB.1;Data Source=f:\xxx;Collating Sequence=MACHINE";$conn->Open($connstr); 


エラー メッセージ
致命的なエラー: 例外「com_Exception」がキャッチされませんでした。メッセージ「a4b561c25d9afb9ac8dc4d70affff419ソース:0d36329ec37a2cc24d42c7229b69747aADODB.Connectiona4b561c25d9afb9ac8dc4d70affff419a4b561c25d9afb9ac8dc4d70affff419説明:0d36329ec37a2cc24d42c7229b69747a」が見つかりません。プログラムが正しくインストールされていない可能性があります。 ' D:chinaz.comWebSitedfxtTESTADO2.PHP:6 のスタック トレース: #0 D:chinaz.comWebSitedfxtTESTADO2.PHP(6): com->Open('Provider=VFPOLE...') #1 {main} が D でスローされました:chinaz.comWebSitedfxtTESTADO2.PHP 6 行目

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。