Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / General / Other SQL Server Topics / January 2007

Tip: Looking for answers? Try searching our database.

BCP error - missing data

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
danceli@gmail.com - 31 Jan 2007 02:59 GMT
After loading the BCP files that are created during the trigger/
reporting events I've noticed that the data in the table is missing
records. I've also noticed that the missing records (records in the
table but not in the BCP out files) seem to occur in contiguous
blocks. Since the complete set of records exists in the table, I
assume this points to an issue in the way the TableUpdate script/
Triggers interact with the system. But i tried to take out the bcp
procedure, do test on trigger, then no data missing, So, I think the
problem is still on bcp part. Could you help me with that?

CREATE TABLE [EventUpdate] (
     [id] [int] NOT NULL ,
     [eventid] [int] NOT NULL ,
     [sequenceid] [int] NOT NULL ,
     [UpdatePass] [int] NULL
) ON [PRIMARY]
GO
create trigger trgEventUpdate on EventLog For Insert,Update as
insert into EventUpdate (id,eventid,sequenceid) select ins.id,
ins.eventid,ins.sequenceid from inserted ins

bcp script:

bcp "select a.* from w..eventlog a, w..eventupdate b where
a.eventid=b.eventid and a.sequenceid=b.sequenceid and b.eventid<>-1
and b.sequenceid<>-1 and b.updatepass=1" queryout 30sec-%TFN_NOW%.wrk -
U <userwithaccess> -P <password> -S doserver -f EventLog.fmt

Thanks in advance for your reply!
Erland Sommarskog - 31 Jan 2007 11:29 GMT
> After loading the BCP files that are created during the trigger/
> reporting events I've noticed that the data in the table is missing
[quoted text clipped - 5 lines]
> procedure, do test on trigger, then no data missing, So, I think the
> problem is still on bcp part. Could you help me with that?

Please, could you take that again, and more slowly this time? Keep in
mind that people reading this newsgroup does not know about your system.

You are missing data but where? You appear to extract data with BCP, do
you load it anywhere else?

One thing I can note:

> create trigger trgEventUpdate on EventLog For Insert,Update as
> insert into EventUpdate (id,eventid,sequenceid) select ins.id,
[quoted text clipped - 4 lines]
>and b.sequenceid<>-1 and b.updatepass=1" queryout 30sec-%TFN_NOW%.wrk -
>U <userwithaccess> -P <password> -S doserver -f EventLog.fmt

The BCP query has a condition on the column UpdatePass which is not
set in the trigger. So from what you have posted, I would not expect
anything at all to go in the BCP file.

Signature

Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx

danceli@gmail.com - 31 Jan 2007 18:20 GMT
1.
> You are missing data but where? You appear to extract data withBCP, do
> you load it anywhere else?

On table Eventlog, there are missing data.

2.
> > create trigger trgEventUpdate on EventLog For Insert,Update as
> > insert into EventUpdate (id,eventid,sequenceid) select ins.id,
[quoted text clipped - 8 lines]
> set in the trigger. So from what you have posted, I would not expect
> anything at all to go in theBCPfile.

sorry, i didn't clearly explain it. i did set the UpdataPass:

CREATE TABLE [EventLogUpdate] (
     [id] [int] NOT NULL ,
     [eventid] [int] NOT NULL ,
     [sequenceid] [int] NOT NULL ,
     [UpdatePass] [int] NULL
) ON [PRIMARY]
GO
create trigger trgEventUpdate on EventLog For Insert,Update as
insert into EventLogUpdate (id,eventid,sequenceid) select ins.id,
ins.eventid,ins.sequenceid from inserted ins
GO
Erland Sommarskog - 31 Jan 2007 22:46 GMT
> On table Eventlog, there are missing data.

But it was the EventLog table you had the trigger on? If data is
missing in EventLog what has the trigger or the BCP stuff to do with it?

> sorry, i didn't clearly explain it. i did set the UpdataPass:
>
[quoted text clipped - 9 lines]
> ins.eventid,ins.sequenceid from inserted ins
> GO

I still can't see any update of UpdatePass?

It's your call. If you don't want to explain what you are doing, that
is alright. But unfortunately it is difficult to answer your questions
in this case.

Signature

Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.