You are here: Re: When DTS hits a bad date « MsSQL Server « IT news, forums, messages
Re: When DTS hits a bad date

Posted by Stu on 10/02/14 11:56

Sorry, just realized I had a typo:

If IsDate(DestinationDate) is True then

should be

If IsDate(DestinationDate) = True then


If you've never been to this site, you may want to check it out for
lots of help on scripting functions: http://www.devguru.com

Stu

robboll wrote:
> thanks!
> Stu wrote:
> > Regardless of how you want to handle the bad data, you need to check if
> > the parsed source column is a date first, eg:
> >
> > Dim DestinationDate
> >
> > DestinationDate = mid(DTSSource("Col002"),1,4) & "/" &
> > mid(DTSSource("Col002"),5,2) & "/" & mid(DTSSource("Col002"),7,2)
> >
> > If IsDate(DestinationDate) is True then
> > DTSDestination("Col002") = DestinationDate
> > Else
> > 'do something; write the row to a log, correct the error
> > based on predefined rules,
> > 'skip the import
> > End if
> >
> > HTH,
> > Stu
> >
> >
> > robboll wrote:
> > > This routine works in most cases, but fails when a bad date is entered
> > > such as:
> > > 19910631 -- there is no June 31st.
> > >
> > > Instead of ignoring the bad date the entire DTS job fails. Obviously
> > > this is something that should be validated at data entry, but
> > > unfortunately the only control I have is when appending to the table
> > > with these data quirks. Any suggestions appreciated!!!
> > >
> > > '**********************************************************************
> > >
> > > ' Visual Basic Transformation Script
> > > ' Copy each source column to the
> > > ' destination column
> > > '************************************************************************
> > >
> > >
> > >
> > > Function Main()
> > > 'DTSDestination("Col002") = DTSSource("Col002")
> > > if DTSSource("Col002") = "99999999" or DTSSource("Col002") =
> > > Null then
> > >
> > > Main = DTSTransforStat_SkipRow
> > > else
> > > DTSDestination("Col002") = mid(DTSSource("Col002"),1,4) & "/"
> > > &
> > > mid(DTSSource("Col002"),5,2) & "/" & mid(DTSSource("Col002"),7,2)
> > > End if
> > > Main = DTSTransformStat_OK
> > > End Function
> > >
> > >
> > > RBollinger

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация