Как сделать запрос SQL к таблице *.dbf? через ODBC

rubalex

Новичок
Как сделать запрос SQL к таблице *.dbf? через ODBC

$connect=odbc_connect("dbf_table", "","");
$query = "SELECT * FROM dbf_table.dbf";
$result = odbc_prepare($connect,$query);
odbc_execute($result);
$cur=odbc_execute($result);
odbc_result_all($result, "BGCOLOR='#c0c0c0' border=1");

пишет Warning: SQL error: [Microsoft][ODBC dBase Driver] Index file not found., SQL state S0012 in SQLExecute No rows found

может ODBC не парвильно настроен???

при доступке а базе аксеса все работало а с дбф проблема.
 

sokol

Zavolga.Net
Насколько я помню в настройках ODBC можно указать в каком каталоге находится dbf-база, а не файл который ты хочешь заюзать.

1. В ODBC указывашь путь до бызы, даешь ей DSN
2. Далее
$connect=odbc_connect($dsn, "","");
$query = "SELECT * FROM dbfile";
3. Не надо указывать расширение файла при запросе

и.т.д

Сам такое использвал для импорта/экспорта из фокспрошных dbf-ок
 

rubalex

Новичок
нет базы... есть только файл один.

-~{}~ 21.04.04 17:01:

это еще досовский файл
 

sokol

Zavolga.Net
Ты не понял?
Укажи в качестве базы каталог где у тебя лежит данный файл.
т.е. если он лежит в
C:/dbfdata/dbf_table.dbf
то в настройка DSN нужно указать C:/dbfdata

а к файлу обращаться как
SELECT * FROM dbf_table
 

rubalex

Новичок
понял.. но ошибка все равно выскакивает а толковать ее я не заню как
пишет Warning: SQL error: [Microsoft][ODBC dBase Driver] Index file not found., SQL state S0012 in SQLExecute No rows found
 

sokol

Zavolga.Net
Тип базы правильно укажи
dbase III
dbase IV
dbase V
Cliper
и.т.д

Он ищет индекс для указанного тобой в DSN формата.
Случайно dbf,ка не FoxPro,шная?
 
Сверху