jwcolby
jwcolby at colbyconsulting.com
Mon Jul 2 12:25:06 CDT 2007
Thanks for the reply Arthur. Unfortunately I am working on importing files where the content is not known to me, thus knowing the format just doesn't really work long term. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller Sent: Sunday, July 01, 2007 3:08 PM To: dba-sqlserver at databaseadvisors.com Subject: Re: [dba-SQLServer] OpenRowset I'm not sure, JC. But perhaps this might help. It's another approach: Using the OPENROWSET BULK provider with a format file to retrieve rows from a text file Using the OPENROWSET BULK provider with a format file to retrieve rows from a text file The following example uses a format file to retrieve rows from a tab-delimited text file, values.txt that contains the following data: 1 Data Item 1 2 Data Item 2 3 Data Item 3 The format file, values.fmt, describes the columns in values.txt: 9.0 2 1 SQLCHAR 0 10 "\t" 1 ID SQL_Latin1_General_Cp437_BIN 2 SQLCHAR 0 40 "\r\n" 2 Description SQL_Latin1_General_Cp437_BIN This is the query that retrieves that data: SELECT a.* FROM OPENROWSET( BULK 'c:\test\values.txt', FORMATFILE = 'c:\test\values.fmt') AS a; ... which of course demands a format file. I'm not sure what the 9.0 means. The 2 means column count. The "\t" means tab, I think, and the "\r\n" means return + newline. For more info on using format files, see ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/2956df78- 833f-45fa-8a10-41d6522562b9.htm. hth, Arthur On 7/1/07, jwcolby <jwcolby at colbyconsulting.com> wrote: > > Guys, > > I am trying to do the following, straight in a query window in SQL > Server > 2005: > > SELECT * FROM > OpenRowset('MSDASQL','Driver={Microsoft Text Driver (*.txt; > *.csv)};DefaultDir=C:\aTestFTP\;','select * from Infutor1.txt') > > I get the following error: > > OLE DB provider "MSDASQL" for linked server "(null)" returned message > "[Microsoft][ODBC Text Driver] '(unknown)' is not a valid path. Make > sure that the path name is spelled correctly and that you are > connected to the server on which the file resides.". > Msg 7303, Level 16, State 1, Line 1 > Cannot initialize the data source object of OLE DB provider "MSDASQL" > for linked server "(null)". > > So what did I do wrong this time? ;-) > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > _______________________________________________ > dba-SQLServer mailing list > dba-SQLServer at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-sqlserver > http://www.databaseadvisors.com > > _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com