Wow. I would have thought this was older than September of '09. The CSV, in accordance with MS documentation, uses the file name as the table, and the directory as the data source. In Excel, you get to use the full filename with path because the excel file has multiple sheets which act as tables. Since the CSV and other flat, text files have only one, the directory is the source and the table name is the file name.
To get around the "File.Name.Extension" issue, change it to "File#Name#Extension". I haven't verified this, but it's what MS documentation says. Also, it might be possible to use FMT=Delimited(;), with a single-character delimiter within the parenthesis. This and much more can be done with a schema.ini file in the directory, but this file requires the filename in the schema, which is rather troublesome if you're generating files on the fly. You can also specify the delimiter in the HKLM hive of the registry, which is equally bothersome, since it applies to the entire machine. I doubt I'll test either, since my file is CSV formatted.
If all you want to do is parse a small CSV file, there is a file parser object in the framework that performs well. However, it is just a stream reader that parses the file, and you have to add the rows into a DataSet before you can query it. I'm looking for something I can query on before I work with the dataset. I should probably use LINK, but I really didn't expect it to be this much research, testing, and experimenting for such a common file format as CSV, especially when I already have an XL File ADO connection, and Excel can work with CSVs. Right? No? No!? NOOOO!!!
I hate this project.