2009-08-04 10 views
0

J'ai un problème "format d'heure invalide" lorsque j'essaie d'utiliser des fonctions bcp (bcp_sendrow/bind etc.) pour insérer dans une table ayant une colonne datetime. ainsi que par des exemples googled, j'ai peuplé une structure DBDATETIME, par exemple: si je voulais peupler le 3 août 2009, exactement 8h heure locale, je peuplerais les membres de la structure comme suit:sql server 2008: bcp_sendrow, problème: format d'heure invalide

dtdays = 40026 (jours depuis 19000101) et dttime = 28800000 (num millisecs depuis minuit)

(également avoir lié le var. comme SQLDATETIME) si dttime est de 7 chiffres large (ou moins), puis proprement déroulée bcp (mais évidemment avec un mauvais moment valeur (la partie de date est ok)

comment puis-je régler ceci? J'ai essayé datetime2/time etc. mais rien n'a aidé. s'il vous plaît aider, tous les conseils/idées les plus appréciés. (J'utilise Sql Server 2008, et (ODBC) client natif SQL 10.0)

merci!

Répondre

0

esprit .. jamais obtenu finalement (un peu) -DBDATETIME :: dttime (num de millisecs depuis le début de la journée) doit être divisé par 3,333333 .. cette façon, vous obtenez la valeur la plus proche pour représenter votre temps. (la largeur du champ n'est que de 7 chiffres). Cela a probablement quelque chose à voir avec le type datetime pouvant représenter seulement 1/3 de seconde. de toute façon .... de toute façon, j'ai essayé d'utiliser datetime2 avec ODBC bcp api, mais ne pouvait pas faire le temps partie travail s'il vous plaît laissez-moi savoir si quelqu'un trouve un meilleur moyen merci!