Bonjour,
Je suis sous MS Sql Server 2005
J'explique s'implement mon probleme.

Je suis en train de porter un logiciel windows sous linux.

Sous linux j'utilise mono malheureusement le driver sql ne gere pas correctement les dates.

Je recupere donc une requete du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > @dateDu ', N'@dateDu datetime', @dateDu = 'Jan 01 2007 12:00:00 AM'
Or la date et en anglais alors que lorsque j'execute ma equete sous windows

j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
]exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > @dateDu ', N'@dateDu datetime', @dateDu = 'janv  1 2007 12:00:00:000'

J'ai donc essayer la requete suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''janv'')) ', N'@dateDu datetime', @dateDu = Jan  1 2007 12:00:00:000'
et cela ne fonctionne pas "Erreur de conversion du type de données varchar en datetime."

et chose etrange ce code suivant fonctionne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''jan'')) ', N'@dateDu datetime', @dateDu = janv  1 2007 12:00:00:000'
et celui ci ne fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
exec sp_executesql N'SELECT * FROM BTS WHERE DateDeb > convert(datetime,replace(@dateDu,''Jan'',''janv'')) ', N'@dateDu datetime', @dateDu = janv  1 2007 12:00:00:000'


Pouvez vous m'aider ou me donner une idée afin de pouvoir modifié la date renvoyer par linux sachant que je ne peut pas touché aux paramatere car ils sont générer par le driver sql

Merci d'avance

Gazzall