RE: BULK INSERT with firstrow=2

RE: BULK INSERT with firstrow=2

 

  

Well - depends on your development skills and what tools you have
on-hand.
If it were me I would write a c# console application.

You have visual studio ?
If not c# express (free license) from microsoft - could be used - as it
has all necessary features.

The logic would be

Open stream-reader over the file.
Read the line, parse the data between your delimiter, put into a
data-structure or individual variables.
Once at the end of the line, insert the columns via stored procedure.
Continue until done.

In a program - it is easy to implement rules like skip the first row as
well...



-----Original Message-----
From: Smith, Dano
Sent: Friday, June 29, 2007 8:08 AM
To: 'Nabeel Ahmad'
Subject: RE: BULK INSERT with firstrow=2

Well - depends on your development skills and what tools you have
on-hand.
If it were me I would write a c# console application.

You have visual studio ?
If not c# express (free license) from microsoft - could be used - as it
has all necessary features.

The logic would be

Open stream-reader over the file.
Read the line, parse the data between your delimiter, put into a
data-structure or individual variables.
Once at the end of the line, insert the columns via stored procedure.
Continue until done.

In a program - it is easy to implement rules like skip the first row as
well...



-----Original Message-----
From: Nabeel Ahmad [mailto:[Email address protected]
Sent: Thursday, June 28, 2007 11:28 PM
To: Smith, Dano
Subject: RE: BULK INSERT with firstrow=2

**A LazyDBA.com subscriber has responded to your lazydba.com post**
**LazyDBA.com mail shield has forwarded you this email, **and removed
any attachments, and kept your email address secret **from this person,
and any viruses/trojans.
**If you reply to this email, the person will see your email address as
normal **Anything below this line is the original email text


Dear Dano,



In my actual data file there are many fields like address and all that
is sometimes more than 8k char, so in that case rest chars are trimmed.



So which kind of application should i write to import this data
properly.



Thanks in advance.



Regards,

Nabeel Ahmad







-----Original Message-----

From: Smith Dano [Email address protected]

Sent: Thursday, June 28, 2007 6:46 PM

To: LazyDBA Discussion

Subject: RE: BULK INSERT with firstrow=2



Your early example showed a very narow data-set to import, not 8000

characters.

If you really have data files that are thousands of characters long -

you need to write an actuall application to import this data properly.



Dano







-----Original Message-----

From: Nabeel Ahmad

[mailto:mssqldba-ezmlmshield-x64926462.[Email address protected]

Sent: Thursday, June 28, 2007 8:49 AM

To: LazyDBA Discussion

Subject: RE: BULK INSERT with firstrow=2

Importance: Low



Hi,







Can anybody look at the below problem and provide me the solution.







Regards,



Nabeel Ahmad











-----Original Message-----



From: Nabeel Ahmad [mailto:mssqldba-ezmlmshield-x71467106.[Email address

protected]



Sent: Wednesday, June 27, 2007 12:16 PM



To: LazyDBA Discussion



Subject: RE: BULK INSERT with firstrow=2







Also Dano,















If we will insert all the text in column then max col size is 8000, if

the size is more than 8000 then the rest text will not be inserted into

that column.







So data loss may happen in this case.















Any other solution please.















Regards,







Nabeel Ahmad



































-----Original Message-----







From: Smith Dano [mailto:[Email address protected]







Sent: Tuesday, June 26, 2007 6:28 PM







To: Nabeel Ahmad







Subject: RE: BULK INSERT with firstrow=2















**A LazyDBA.com subscriber has responded to your lazydba.com post**







**LazyDBA.com mail shield has forwarded you this email,







**and removed any attachments, and kept your email address secret







**from this person, and any viruses/trojans.







**If you reply to this email, the person will see your email address as

normal







**Anything below this line is the original email text























Garbage In Garbage Out,















Take out the garbage.







The first row is still parsed, and it needs to match the file definition







on col/row terminators.















I get crappy files like this all the time, and in this case, I would







suggest.







Create a table "dbo.Line (col1 line varchar(2000) <-- whatever your max







len is)















Then bulk insert into the one single line, no column delimiter, just a







row delimiter.







Then after the data is in sql, in a single column, you can query to your







hearts content, leaving out the first, row.







Parsing as needed, etc.







Or conceiveably, you could remove the first row, bulk copy back out,







then back in a final time, with the formatted columns.















Dano Smith























-----Original Message-----







From: Nabeel Ahmad







[Email address protected]







Sent: Monday, June 25, 2007 11:38 PM







To: LazyDBA Discussion







Subject: BULK INSERT with firstrow=2







Importance: Low















Hi,































I have a text file and having the header of unwanted columns having less







than the no. of data column in the txt file. I am using the bulk insert







command to insert the text file data into the sql server table by using







the below query:















































BULK INSERT Mytable FROM 'e:\Mytext.txt'















WITH















(































FIRSTROW = 2,















FIELDTERMINATOR = ';',















ROWTERMINATOR = '\n'































)































Mytext.txt contains, lets assume like this ---































Name;FName;year;Sex















Robin Singh;Robin;2007;M;Graduate;Working;India















John Mathew;John;1999;M;Post Graduate;Working;USA















Rita Jhonson;Rita;2000;F;Graduate;Housewife;UK































When we are running above query it is inserting from the 3 row i.e. John







Mathew skipping the 2 row. What I come to know from the above result







that if the header has less columns in the txt file then it considers







2nd row as 1st row that's why it's skipping the 2nd row when we are







using above bulk insert.































If there is any solution to insert all the row except header kindly let







me know.















































Regards,















Nabeel Ahmad















MASTEK















"Making a valuable difference"















Mastek in NASSCOM's 'India Top 20' Software Service Exporters List.















In the US, we're called MAJESCOMASTEK































~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~















Opinions expressed in this e-mail are those of the individual and not







that of Mastek Limited, unless specifically indicated to that effect.







Mastek Limited does not accept any responsibility or liability for it.







This e-mail and attachments (if any) transmitted with it are







confidential and/or privileged and solely for the use of the intended







person or entity to which it is addressed. Any review, re-transmission,







dissemination or other use of or taking of any action in reliance upon







this information by persons or entities other than the intended







recipient is prohibited. This e-mail and its attachments have been







scanned for the presence of computer viruses. It is the responsibility







of the recipient to run the virus check on e-mails and attachments







before opening them. If you have received this e-mail in error, kindly







delete this e-mail from all computers.















~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~







































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







TO REPLY TO EVERYBODY , PLEASE CLICK REPLY-ALL, NOT JUST REPLY To post a







dba job: http://jobs.lazydba.com To subscribe : http://www.LazyDBA.com







To unsubscribe: http://www.lazydba.com/unsubscribe.html







































-















MASTEK







"Making a valuable difference"







Mastek in NASSCOM's 'India Top 20' Software Service Exporters List.







In the US, we're called MAJESCOMASTEK















~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~







Opinions expressed in this e-mail are those of the individual and not

that of Mastek Limited, unless specifically indicated to that effect.

Mastek Limited does not accept any responsibility or liability for it.

This e-mail and attachments (if any) transmitted with it are

confidential and/or privileged and solely for the use of the intended

person or entity to which it is addressed. Any review, re-transmission,

dissemination or other use of or taking of any action in reliance upon

this information by persons or entities other than the intended

recipient is prohibited. This e-mail and its attachments have been

scanned for the presence of computer viruses. It is the responsibility

of the recipient to run the virus check on e-mails and attachments

before opening them. If you have received this e-mail in error, kindly

delete this e-mail from all computers.







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



















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



TO REPLY TO EVERYBODY , PLEASE CLICK REPLY-ALL, NOT JUST REPLY



To post a dba job: http://jobs.lazydba.com



To subscribe : http://www.LazyDBA.com



To unsubscribe: http://www.lazydba.com/unsubscribe.html















MASTEK



"Making a valuable difference"



Mastek in NASSCOM's 'India Top 20' Software Service Exporters List.



In the US, we're called MAJESCOMASTEK







~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Opinions expressed in this e-mail are those of the individual and not

that of Mastek Limited, unless specifically indicated to that effect.

Mastek Limited does not accept any responsibility or liability for it.

This e-mail and attachments (if any) transmitted with it are

confidential and/or privileged and solely for the use of the intended

person or entity to which it is addressed. Any review, re-transmission,

dissemination or other use of or taking of any action in reliance upon

this information by persons or entities other than the intended

recipient is prohibited. This e-mail and its attachments have been

scanned for the presence of computer viruses. It is the responsibility

of the recipient to run the virus check on e-mails and attachments

before opening them. If you have received this e-mail in error, kindly

delete this e-mail from all computers.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~









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

TO REPLY TO EVERYBODY , PLEASE CLICK REPLY-ALL, NOT JUST REPLY To post a

dba job: http://jobs.lazydba.com To subscribe : http://www.LazyDBA.com

To unsubscribe: http://www.lazydba.com/unsubscribe.html









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

TO REPLY TO EVERYBODY , PLEASE CLICK REPLY-ALL, NOT JUST REPLY

To post a dba job: http://jobs.lazydba.com

To subscribe : http://www.LazyDBA.com

To unsubscribe: http://www.lazydba.com/unsubscribe.html







MASTEK

"Making a valuable difference"

Mastek in NASSCOM's 'India Top 20' Software Service Exporters List.

In the US, we're called MAJESCOMASTEK



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Opinions expressed in this e-mail are those of the individual and not
that of Mastek Limited, unless specifically indicated to that effect.
Mastek Limited does not accept any responsibility or liability for it.
This e-mail and attachments (if any) transmitted with it are
confidential and/or privileged and solely for the use of the intended
person or entity to which it is addressed. Any review, re-transmission,
dissemination or other use of or taking of any action in reliance upon
this information by persons or entities other than the intended
recipient is prohibited. This e-mail and its attachments have been
scanned for the presence of computer viruses. It is the responsibility
of the recipient to run the virus check on e-mails and attachments
before opening them. If you have received this e-mail in error, kindly
delete this e-mail from all computers.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



MS Sql Server LazyDBA home page