2010-04-27 11 views
2

Conversion de l'utilisateur Micorsofts Syste.Data.OracleClient à ce que je crois est appelé Oracles ODT (Oracle.DataAccess 10.2.0.100). Lorsque j'essaie d'envoyer une date, j'obtiens cette erreur "ORA-1858: un caractère non-numérique a été trouvé où un numérique était attendu". Ce code a très bien fonctionné avec System.Data.OracleClient.Quel format de date devrais-je envoyer lors de l'utilisation Oracle.DataAcess

cmd.Parameters.Add(New OracleParameter("I_FIRST_LOSS_EVENT_DATE", OracleDbType.Date)).Value = .LossEventsMessages(0).LossEventTime 

Merci,

Dave

+0

".LossEventsMessages (0) .LossEventTime" est défini comme Date? – Burnsys

Répondre

2

Comme par le tableau 3-10 dans le Oracle Data Provider for .NET Developer's Guide, le type de données de la propriété Value du paramètre doit être System.DateTime (sauf si vous êtes prêt à utiliser un Type spécifique à ODP.NET, auquel cas il doit être OracleDate ou l'un des types OracleTimeStamp, en fonction de votre type de colonne/paramètre).

+0

Je suis passé à OracleDate mais j'obtiens cette erreur quand je l'exicute. ORA-01858: un caractère non numérique a été trouvé où un résultat numérique était attendu ORA-06512: à la ligne 1 – user38349

+0

Etes-vous sûr que ce nouveau problème que vous rencontrez est dû à ce paramètre? À partir du son de ce message d'erreur le plus récent, je suppose que vous pouvez avoir un problème avec la propriété 'CommandText' d'OracleCommand. –