RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Jay Blanchard

[snip]
$odbc = odbc_connect("cvalcoinput","","") OR die("There is an error
connecting to the CSV file.");
$result = odbc_tables($odbc);

while(odbc_fetch_into($result, $fields)){
  for ($i = 0; $i < sizeof($fields); $i++) {
echo $fields[$i] . "";
  }
}

Derives the following results:
D:\INETPUB\CVALCO\INCLUDE\INPUT

inputfile.txt
TABLE
[/snip]

I think that you need to have &$fields in your fetch_into statement.

Unfortunately I do not know of any good ODBC reference materials when it
comes to ODBC. I am sure that you Googled for it and had a look at the
manual, so I don't know where to point you now.

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Ethan Nelson

So this code:

$odbc = odbc_connect("cvalcoinput","","") OR die("There is an error connecting to the 
CSV file.");
$result = odbc_tables($odbc);

while(odbc_fetch_into($result, $fields)){
  for ($i = 0; $i < sizeof($fields); $i++) {
echo $fields[$i] . "";
  }
}

Derives the following results:
D:\INETPUB\CVALCO\INCLUDE\INPUT

inputfile.txt
TABLE

Which makes sense.  Those are the contents of the array returned by odbc_tables.  Now 
try to use odbc_exec and I run into my problems.  This article on the microsoft KB 
seems to suggest under "text driver limitations" that I should be able to run select 
statements using the odbc_exec command.

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q178717

Anyone know of any really good ODBC resources?


-Original Message-
From: Jay Blanchard [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 10, 2002 12:29 PM
To: Ethan Nelson; [EMAIL PROTECTED]
Subject: RE: [PHP] ODBC text file connection problem


[snip]
// ODBC commands to explore connection:
$result = odbc_tables($odbc);
odbc_fetch_into($result,$row);
print_r($row);
[/snip]

Have you tried a WHILE loop to print out each row? I am not sure of the exact syntax 
but something like;

\n"); //at end of row
}
?>

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Jay Blanchard

[snip]
// ODBC commands to explore connection:
$result = odbc_tables($odbc);
odbc_fetch_into($result,$row);
print_r($row);
[/snip]

Have you tried a WHILE loop to print out each row? I am not sure of the
exact syntax but something like;

\n"); //at end of row
}
?>

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Ethan Nelson

I know that the connection works because the following command ODBC_tables into which 
I feed my connection accurately searches the connection and returns an array with some 
table information.
[snip]

// ODBC commands to explore connection:
$result = odbc_tables($odbc);
odbc_fetch_into($result,$row);
print_r($row);

// I get the following output to the screen:
Array ( [0] => ***:\***\***\*** [1] => [2] => inputfile.txt [3] => TABLE [4] => ) 

[/snip]
inputfile.txt in row 2 is the file I want to select from.

Just for kicks, I added the "OR DIE" and got nothing.  I'm pretty sure that I have 
created a valid ODBC system resource and that my ODBC_connect command succesfully 
creates a bridge to my materials.  Its just that I can't execute commands beyond the 
odbc_tables without getting this big nasty error:

[snip]
$result = odbc_exec($odbc,"SELECT * FROM inputfile.txt");
[/snip]

Warning: SQL error: [Microsoft][ODBC Text Driver] The Microsoft Jet database engine \
cannot open the file '(unknown)'. It is already opened exclusively by another user, \
or you need permission to view its data., SQL state S1000 in SQLExecDirect in \
***:\***\***\***\basecsv2.html on line 53

-Ethan

-Original Message-
From: Jay Blanchard [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 10, 2002 12:03 PM
To: Ethan Nelson; [EMAIL PROTECTED]
Subject: RE: [PHP] ODBC text file connection problem


[snip]
As you can see, If I'm going to preserve the double quotes in the third column, I 
would have to come up with a script that would deal with escaped characters.

I was hoping that I could just establish an ODBC connection to the text file, which it 
appears that I can, and then select stuff from it.  Microsoft's documentation that I 
could find states that their text driver doesn't support create/drop table, insert, or 
update commands (obviously), but it doesn't mention SELECT as being off limits...
[/snip]

The quotes should not be a problem as you could use addslashes() to escape them. On 
your connection you say that it does not return an error;

$odbc =3D odbc_connect("***input","",""); // This appears to work as no = errors are 
reported

But you're not testing for errors

$odbc =3D odbc_connect("***input","","") OR die("There is an error connecting to the 
CSV file.");

Make sure that you trap every potential error.

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Jay Blanchard

[snip]
As you can see, If I'm going to preserve the double quotes in the third
column, I would have to come up with a script that would deal with escaped
characters.

I was hoping that I could just establish an ODBC connection to the text
file, which it appears that I can, and then select stuff from it.
Microsoft's documentation that I could find states that their text driver
doesn't support create/drop table, insert, or update commands (obviously),
but it doesn't mention SELECT as being off limits...
[/snip]

The quotes should not be a problem as you could use addslashes() to escape
them. On your connection you say that it does not return an error;

$odbc =3D odbc_connect("***input","",""); // This appears to work as no =
errors are reported

But you're not testing for errors

$odbc =3D odbc_connect("***input","","") OR die("There is an error
connecting to the CSV file.");

Make sure that you trap every potential error.

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Ethan Nelson

I actually do use fopen to connect to the file and create a table based on the column 
names I gather from the first line.  However, actaully parsing through the file and 
trying to dynamically create insert statements for each row seems like it would be a 
regular expression nightmare.  I really can't guarantee the format of the csv in any 
way that is easy to work with... for instance, the first data line might look like 
this:

"2","Ethan Nelson","My favorite quote is ""To hell with them"".","just a test"\r\n

As you can see, If I'm going to preserve the double quotes in the third column, I 
would have to come up with a script that would deal with escaped characters.

I was hoping that I could just establish an ODBC connection to the text file, which it 
appears that I can, and then select stuff from it.  Microsoft's documentation that I 
could find states that their text driver doesn't support create/drop table, insert, or 
update commands (obviously), but it doesn't mention SELECT as being off limits...

-Ethan

-Original Message-
From: Jay Blanchard [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 10, 2002 11:48 AM
To: Ethan Nelson; [EMAIL PROTECTED]
Subject: RE: [PHP] ODBC text file connection problem


[snip]
I've got one for ya.  I've been trying to conenct to a csv text file =
(comma delimited, \r\n row separators, and " text qualifiers) using the =
odbc_connect command and then run simple select statements through it.  =
It doesn't work and I'm at a loss for why.  
[/snip]

Why not use fopen()? A CSV file is a plain text file and therefore cannot be treated 
as a database. The CSV file has no data engine with which to connect to.

HTH!

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




RE: [PHP] ODBC text file connection problem

2002-09-10 Thread Jay Blanchard

[snip]
I've got one for ya.  I've been trying to conenct to a csv text file =
(comma delimited, \r\n row separators, and " text qualifiers) using the =
odbc_connect command and then run simple select statements through it.  =
It doesn't work and I'm at a loss for why.
[/snip]

Why not use fopen()? A CSV file is a plain text file and therefore cannot be
treated as a database. The CSV file has no data engine with which to connect
to.

HTH!

Jay

*
* Texas PHP Developers Conf  Spring 2003*
* T Bar M Resort & Conference Center*
* New Braunfels, Texas  *
* Contact [EMAIL PROTECTED]   *
*   *
* Want to present a paper or workshop? Contact now! *
*



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php