Billy Pang
tuxedo_man at hotmail.com
Thu May 26 15:11:39 CDT 2005
someone correct me if i am wrong but I don't think it is possible to use a text file as the source for a select statement directly. you have to use the bulk insert statement to insert into a table and then display it from there. for example, i export the customers table in northwind database to a local csv file (with the header row and trailing row count stripped out, the file should only contain 91 records): /* -- cut here -- */ use tempdb go set nocount on go CREATE TABLE [Customers] ( [CustomerID] [nchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [CompanyName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [ContactName] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [ContactTitle] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Address] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [City] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Region] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [PostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Country] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Phone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Fax] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED ( [CustomerID] ) ON [PRIMARY] ) ON [PRIMARY] GO BULK INSERT tempdb..Customers FROM 'c:\test.csv' WITH ( FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n' ) go select * from customers; go drop table customers go /* -- cut here -- */ HTH Billy >From: "Susan Harkins" <ssharkins at bellsouth.net> >Reply-To: dba-sqlserver at databaseadvisors.com >To: <dba-sqlserver at databaseadvisors.com> >Subject: [dba-SQLServer] FW: FW: Element K Journal article >Date: Thu, 26 May 2005 08:53:43 -0400 > >The following came from a reader -- the reader is trying to adapt an Access >technique for SQL Server. Gustav was the technical end of this article and >his initial suggestion was to omit the AS keyword, but that didn't work. > >Anybody else want to offer a suggestion? > > >Hi Susan, > >I read with interest your articles each month that appear in Inside >Microsoft Access. Although I have been doing advanced programming in >Access >for about 10 years, each month I learn a new trick or two. Most of the >time >it's from one of your articles. I just finished reading "Retrieve data >from >a text file without attaching to or importing the file". I tried your >examples and they work as listed. I am actually trying to do the exact >same >thing in SQL Server 2000 and also SQL Server CE. I tried using the same >examples that I used in Access but on the SQL IN clause > >select * from Test#csv] as t in '' [Text;DATABASE=E:\] > > > >I get this error message. > >"Incorrect syntax near the keyword 'in'." > > > >In the IN-Less clause, > >select * from [Text;DATABASE=E:\Test.csv] as t > > > >I get this error message. > >"Invalid object name 'Text;DATABASE=E:\Test.csv'." > > > > Is there a similar syntax that works in SQL Server? > > > >Thanks, > > > >Fred > > > > > > >_______________________________________________ >dba-SQLServer mailing list >dba-SQLServer at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-sqlserver >http://www.databaseadvisors.com >