ODBC Connection to dbase IV?

ODBC Connection to dbase IV?

am 15.01.2008 22:51:26 von bcbrock

I am trying to figure out how to query some data out of a dbase IV
(.dbf) file sitting on a remote server from my MySQL/PHP/Web Server.

Both servers are Windows Server 2003 SP2.

My MySQL/PHP/Web server is running PHP 4.3.11, MySQL 4.0.24, and IIS.

I have set a system DSN on the remote machine for the directory that
contains the dbase file. The DSN name is SASIxp, and the actual file
I'm trying to connect to is ADST.DBF.

I've found several examples of how to connect with other database
types, and have used those examples in an attempt to connect to my
dbase IV file, but so far, I'm not having any luck. Instead, I'm
getting errors like:

[CODE]Warning: odbc_exec(): SQL error: [Microsoft][ODBC dBase Driver]
The Microsoft Jet database engine could not find the object
'ADST.DBF'. Make sure the object exists and that you spell its name
and the path name correctly., SQL state S0002 in SQLExecDirect in E:
\InetPub\wwwroot\posa_test\includes\functions.inc on line 4952[/CODE]

I'm including my sandbox code below, which includes 4 different
versions of $connection_string, none of which have worked. :(

Does anybody know of a good tutorial, or have any suggestions? I know
I'm somewhat limited in what I can do with a dbase IV file (if
anything???), but all I really need is to do a simple lookup; no
adding, deleting or changing of any records.


[CODE]
//$connection_string = 'DRIVER={Microsoft dBase Driver
(*.dbf)};SERVER=<10.112.139.230>;DATABASE=';
//$connection_string = 'DRIVER={Microsoft dBase Driver
(*.dbf)};SERVER=<10.112.139.230>;DATABASE=';

//$connection_string = 'DRIVER={Microsoft dBase Driver
(*.dbf)};datasource=SASIxp;';

$connection_string = 'DRIVER={Microsoft dBase Driver (*.dbf)};
datasource=\\\\sasi_main\\sasixp\\datafile\\ADST.DBF;';


$user = '';
$pass = '';

//$connection = odbc_connect( $connection_string, $user, $pass );

$odbc = odbc_connect ($connection_string, '', '') or die('Could Not
Connect to ODBC Database!');

$strsql= 'SELECT * FROM ADST.DBF';

$query = odbc_exec($odbc, $strsql) or die (odbc_errormsg());[/CODE]

Thanks in advance for your assistance!: :)

Re: ODBC Connection to dbase IV?

am 15.01.2008 23:43:20 von Csaba

wrote in message
news:24c1f4c1-883f-4c8f-9161-2c8aa8b4b742@u10g2000prn.google groups.com...
>I am trying to figure out how to query some data out of a dbase IV
> (.dbf) file sitting on a remote server from my MySQL/PHP/Web Server.
>
> Both servers are Windows Server 2003 SP2.
>
> My MySQL/PHP/Web server is running PHP 4.3.11, MySQL 4.0.24, and
> IIS.
>
> I have set a system DSN on the remote machine for the directory that
> contains the dbase file. The DSN name is SASIxp, and the actual
> file
> I'm trying to connect to is ADST.DBF.
>
> I've found several examples of how to connect with other database
> types, and have used those examples in an attempt to connect to my
> dbase IV file, but so far, I'm not having any luck. Instead, I'm
> getting errors like:
>
> [CODE]Warning: odbc_exec(): SQL error: [Microsoft][ODBC dBase
> Driver]
> The Microsoft Jet database engine could not find the object
> 'ADST.DBF'. Make sure the object exists and that you spell its name
> and the path name correctly., SQL state S0002 in SQLExecDirect in E:
> \InetPub\wwwroot\posa_test\includes\functions.inc on line
> 4952[/CODE]
>
> I'm including my sandbox code below, which includes 4 different
> versions of $connection_string, none of which have worked. :(
>
> Does anybody know of a good tutorial, or have any suggestions? I
> know
> I'm somewhat limited in what I can do with a dbase IV file (if
> anything???), but all I really need is to do a simple lookup; no
> adding, deleting or changing of any records.
>
>
> [CODE]
> //$connection_string = 'DRIVER={Microsoft dBase Driver
> (*.dbf)};SERVER=<10.112.139.230>;DATABASE=';
> //$connection_string = 'DRIVER={Microsoft dBase Driver
> (*.dbf)};SERVER=<10.112.139.230>;DATABASE=';
>
> //$connection_string = 'DRIVER={Microsoft dBase Driver
> (*.dbf)};datasource=SASIxp;';
>
> $connection_string = 'DRIVER={Microsoft dBase Driver (*.dbf)};
> datasource=\\\\sasi_main\\sasixp\\datafile\\ADST.DBF;';
>
>
> $user = '';
> $pass = '';
>
> //$connection = odbc_connect( $connection_string, $user, $pass );
>
> $odbc = odbc_connect ($connection_string, '', '') or die('Could Not
> Connect to ODBC Database!');
>
> $strsql= 'SELECT * FROM ADST.DBF';
>
> $query = odbc_exec($odbc, $strsql) or die (odbc_errormsg());[/CODE]
>
> Thanks in advance for your assistance!: :)

The ODBC driver probably doesnt like the UNC path, and wants a local
file.
Check google for this.

Richard.

Re: ODBC Connection to dbase IV?

am 15.01.2008 23:59:40 von Csaba

"Richard" wrote in message
news:478d3709$0$14353$dbd4f001@news.euronet.nl...
>
> wrote in message
> news:24c1f4c1-883f-4c8f-9161-2c8aa8b4b742@u10g2000prn.google groups.com...
>>I am trying to figure out how to query some data out of a dbase IV
>> (.dbf) file sitting on a remote server from my MySQL/PHP/Web
>> Server.
>>
>> Both servers are Windows Server 2003 SP2.
>>
>> My MySQL/PHP/Web server is running PHP 4.3.11, MySQL 4.0.24, and
>> IIS.
>>
>> I have set a system DSN on the remote machine for the directory
>> that
>> contains the dbase file. The DSN name is SASIxp, and the actual
>> file
>> I'm trying to connect to is ADST.DBF.
>>
>> I've found several examples of how to connect with other database
>> types, and have used those examples in an attempt to connect to my
>> dbase IV file, but so far, I'm not having any luck. Instead, I'm
>> getting errors like:
>>
>> [CODE]Warning: odbc_exec(): SQL error: [Microsoft][ODBC dBase
>> Driver]
>> The Microsoft Jet database engine could not find the object
>> 'ADST.DBF'. Make sure the object exists and that you spell its name
>> and the path name correctly., SQL state S0002 in SQLExecDirect in
>> E:
>> \InetPub\wwwroot\posa_test\includes\functions.inc on line
>> 4952[/CODE]
>>
>> I'm including my sandbox code below, which includes 4 different
>> versions of $connection_string, none of which have worked. :(
>>
>> Does anybody know of a good tutorial, or have any suggestions? I
>> know
>> I'm somewhat limited in what I can do with a dbase IV file (if
>> anything???), but all I really need is to do a simple lookup; no
>> adding, deleting or changing of any records.
>>
>>
>> [CODE]
>> //$connection_string = 'DRIVER={Microsoft dBase Driver
>> (*.dbf)};SERVER=<10.112.139.230>;DATABASE=';
>> //$connection_string = 'DRIVER={Microsoft dBase Driver
>> (*.dbf)};SERVER=<10.112.139.230>;DATABASE=';
>>
>> //$connection_string = 'DRIVER={Microsoft dBase Driver
>> (*.dbf)};datasource=SASIxp;';
>>
>> $connection_string = 'DRIVER={Microsoft dBase Driver (*.dbf)};
>> datasource=\\\\sasi_main\\sasixp\\datafile\\ADST.DBF;';
>>
>>
>> $user = '';
>> $pass = '';
>>
>> //$connection = odbc_connect( $connection_string, $user, $pass );
>>
>> $odbc = odbc_connect ($connection_string, '', '') or die('Could Not
>> Connect to ODBC Database!');
>>
>> $strsql= 'SELECT * FROM ADST.DBF';
>>
>> $query = odbc_exec($odbc, $strsql) or die (odbc_errormsg());[/CODE]
>>
>> Thanks in advance for your assistance!: :)
>
> The ODBC driver probably doesnt like the UNC path, and wants a local
> file.
> Check google for this.
>
> Richard.
>

BTW,
if you have setup the datasource correctly, you only have to use its
name in PHP, and user and pass if needed.
The data directory etc. you specify in the DSN.

I found this in the archives here, maybe good starting point:
Datasource name= 'Packlists' , user = '', pass = ''
----------------------------------

$odbc=odbc_connect('Packlists','','');
$q="select * from packlist01;";
$odbcset=odbc_exec($odbc,$q);

odbc_fetch_into($odbcset,$row);
for ($i=1; $i<=odbc_num_fields($odbcset); $i++)
{
$field[odbc_field_name($odbcset,$i)] = $row[($i-1)];
}
odbc_close($odbc);


----------------------------------

Good luck
Richard.