Drop Table

Support Forum for database administrators and web based access to important newsgroups related to databases
Register on Database Support Forum Edit your profileCalendarFind other Database Support forum membersFrequently Asked QuestionsSearch this forum -> 
For Database admins: Free Database-related Magazines Now Free shipping to Texas


Post New Thread










Thread
Author

dateformat is ignored
Hello,

I receive a file containing some character fields along with a date.
The date values in the file are formatted as "dd/mm/yy", that is
2-digit day, 2-digit month, and 2-digit year.  The separator could be
slash or a dash ("-").  The file is in a proprietary format, and bcp is
not an option.

So, I decided to load the file using a prepared statement.  I open a
cursor with an INSERT statement, read from the file, parse out values,
and put it in the database using the cursor.  All is OK; except that
the date values are mangled. This is despite the fact that I am issuing
a "set dateformat dmy" before running the INSERT statement.

It seems that the "set dateformat dmy" is not being accepted, or it is
being ignored.  I set it at the beginning right after opening a
connection to the database.  From what I understand, it should work.
Am I doing something wrong?  Any suggestions on how to get this to
work?

Thanks!


Report this thread to moderator Post Follow-up to this message
Old Post
newtophp2000@yahoo.com
12-28-05 12:23 PM


Re: dateformat is ignored
newtophp2000@yahoo.com wrote:

> Hello,
>
> I receive a file containing some character fields along with a date.
> The date values in the file are formatted as "dd/mm/yy", that is
> 2-digit day, 2-digit month, and 2-digit year.  The separator could be
> slash or a dash ("-").  The file is in a proprietary format, and bcp is
> not an option.
>
> So, I decided to load the file using a prepared statement.  I open a
> cursor with an INSERT statement, read from the file, parse out values,
> and put it in the database using the cursor.  All is OK; except that
> the date values are mangled. This is despite the fact that I am issuing
> a "set dateformat dmy" before running the INSERT statement.
>
> It seems that the "set dateformat dmy" is not being accepted, or it is
> being ignored.  I set it at the beginning right after opening a
> connection to the database.  From what I understand, it should work.
> Am I doing something wrong?  Any suggestions on how to get this to
> work?
>
> Thanks!

You say BCP isn't an option but you didn't explain what other method
you are using to read the file or why a cursor is necessary. Don't rely
on SET DATEFORMAT. Use the CONVERT function with the style parameter to
specify the exact format. Looks like style 3 or 103 is what you need.

--
David Portas
SQL Server MVP
--


Report this thread to moderator Post Follow-up to this message
Old Post
David Portas
12-28-05 12:23 PM


Re: dateformat is ignored
David Portas  wrote:
> You say BCP isn't an option but you didn't explain what other method
> you are using to read the file or why a cursor is necessary. Don't rely
> on SET DATEFORMAT. Use the CONVERT function with the style parameter to
> specify the exact format. Looks like style 3 or 103 is what you need.


I read from the file line by line and parse the line to extract the
fields.  I then use the bound variables in the prepared Insert
statement to add it to the database.  I wanted to change the DATEFORMAT
configuration as it seemed to be such a straight answer.  I guess I
could use the CONVERT function if it is fast enough.  I can do some
tests to see how it performs.

I am curius: is there a particular reason to shy away from setting
DATEFORMAT?  Is it not reliable as implemented or something else?

Thanks a lot!


> --
> David Portas
> SQL Server MVP
> --


Report this thread to moderator Post Follow-up to this message
Old Post
newtophp2000@yahoo.com
12-28-05 02:23 PM


Re: dateformat is ignored
Hi

If you are parsing a string then you constructing the date in CCYYMMDD
format will be a safe option.

John

<newtophp2000@yahoo.com> wrote in message
news:1135777730.480129.321010@z14g2000cwz.googlegroups.com...
> David Portas wrote: 
>
>
> I read from the file line by line and parse the line to extract the
> fields.  I then use the bound variables in the prepared Insert
> statement to add it to the database.  I wanted to change the DATEFORMAT
> configuration as it seemed to be such a straight answer.  I guess I
> could use the CONVERT function if it is fast enough.  I can do some
> tests to see how it performs.
>
> I am curius: is there a particular reason to shy away from setting
> DATEFORMAT?  Is it not reliable as implemented or something else?
>
> Thanks a lot!
>
> 
>



Report this thread to moderator Post Follow-up to this message
Old Post
John Bell
12-28-05 02:23 PM


Re: dateformat is ignored
David and John,

Thank you very much for your input.  I am now using the techniques that
you suggested and it works great!


Report this thread to moderator Post Follow-up to this message
Old Post
newtophp2000@yahoo.com
12-28-05 06:23 PM


Sponsored Links





Last Thread Next Thread
Post New Thread

Microsoft SQL Server forum archive

Show a Printable Version Email This Page to Someone! Receive updates to this thread
Microsoft SQL Server
Access database support
PostgreSQL Replication
SQL Server ODBC
FoxPro Support
PostgreSQL pgAdmin
SQL Server Clustering
MySQL ODBC
Web Applications with dBASE
SQL Server CE
MySQL++
Sybase Database Support
MS SQL Full Text Search
PostgreSQL Administration
SQL Anywhere support
DB2 UDB Database
Paradox Database Support
Filemaker Database
Berkley DB
SQL 2000/2000i database
ASE Database
Forum Jump:
All times are GMT. The time now is 04:10 AM.

 
Mobile devices forum | Database support forum archive




Copyrights DropTable.com Database Support Forum 2004 - 2006