Amusez-vous avec les dates américaines et britanniques sur un nouveau server

Je viens d'avoir le "plaisir" de déplacer un ancien site ASP / SQL DB vers un nouveau server dédié OVH (français – toutes les valeurs par défaut sont US-Eng)

Le DB est passé de SQL 2005 à SQL 2012 (édition web 64 bits).

Je 8/3/2016 l'ancien numéro des formats de date en format US sur le site, par exemple le 8/3/2016 au lieu du 03/08/2016 . C'est même si dans la database, ils sont stockés comme ISO Date 2016-08-03 etc.

J'entre les dates sur le site ASP CLASSIC, au format UK
Par exemple: 03/08/2016 et convertissez-les au format ISO 2016-08-03 dans le SQL qui est passé à la procédure stockée qui a SET DATEFORMAT YMD en haut de celui-ci.

Si je vérifie les tables dans la database, elles sont toutes stockées correctement en tant que dates ISO.

Je me suis assuré que toutes les connections SQL à la database ont "anglais britannique" sélectionné comme leur "langue par défaut".

Si je vois les propriétés de la database sous les options, la langue par défaut est l'anglais britannique.

Si je vois les propriétés du server sous Général -> Langue c'est l'anglais (États-Unis) mais sous Avancé -> Langue par défaut c'est l'anglais britannique.

Les dates sont stockées comme ISO correctement comme si je fais un DATEDIFF (DAY, Stamp, GETDATE ()) = 0 Je peux voir tous les loggings même s'ils apparaissent sur le site en format US 8/3/2016 (Why il n'y a pas de zéros devant les dates américaines je ne sais pas)

Le code ASP n'a pas changé ou le code de la database il a été simplement porté dans ce nouveau server dédié et maintenant je reçois ces problèmes. Je suis sûr que j'ai résolu quelque chose comme ça il ya longtime en changeant la langue de connection par défaut, mais cela ne semble pas fonctionner sur cette boîte.

Je reçois beaucoup d'erreurs Primary Key / Index en raison d'insertions en double en raison des dates (mélange USA / UK) à partir d'une application .NET J'ai qui utilise l'API Betfair pour get des données de course par exemple

 EXEC dbo.usp_net_insert_betfair_market_selection @MarketID = 125932808, @SelectionID = 10593225, @Racedatetime = '2016-08-03 15:10:00', @MarketType = 'WIN', @HorseName = 'She Done Good'; 

Violation de la contrainte PRIMARY KEY 'PK_BETFAIR_MARKET_SELECTIONS'. Impossible d'insert une key en double dans l'object 'dbo.BETFAIR_MARKET_SELECTIONS'. La valeur de la key en double est (719859, WIN, 8 mars 2016 3:10 PM).

Toutefois, si je copy cette instruction EXEC et l'exécute directement dans une window d'parsing de requête, elle s'exécute SANS TOUT ERREUR.

J'ai été googler ma tête et j'ai vu quelqu'un suggérer de mettre ce code en haut de toutes les pages ASP qui montrent des dates pour forcer le spectacle au format britannique> https://www.webwiz.co.uk/kb/asp- tutorials / date-heure-settings.htm

'* Définissez les parameters régionaux du server sur UK Session.LCID = 2057

Cela a fonctionné sur QUELQUES pages mais je n'ai jamais eu à le faire auparavant.

Sur les pages avec de longues lists d'loggings et les dates dans une colonne j'ai enveloppé la date dans CONVERT (varchar, GETDATE (), 103) dans le SQL et il renvoie correctement sur la page.

Je suis confus cependant car je n'ai jamais eu à le faire sur l'ancienne configuration et il semble qu'il doit y avoir un paramètre qui doit changer pour réparer tout cela sur le nouveau server (SQL et Web IIS 8) sur la même boîte.

J'ai essayé d'aller dans la mondialisation .NET pour le site et de changer la culture et la culture de l'interface user en anglais (fr). Cependant, cela n'a pas tout arrangé.

Les preferences "Langue" sur la machine sont définies en anglais (Royaume-Uni) bien que je n'aurais pas pensé que cela aurait fait une différence.

Si j'exécute ce code dans un parsingur de requête soit RD dans la boîte, soit via ma console SQL locale connectée à la machine sur le réseau

select nom, alias, dateformat de syslanguages ​​où langid = (select la valeur de master..sysconfigures où comment = 'langue par défaut')

Dans une window de requête (Remote Desktop dans le server) je reviens

Nom Alias ​​dateformat britannique britannique anglais dmy

DEMANDER:
Donc, il semble que quelque chose à voir avec la connection entre le site Web ASP ou l'application .NET et le server / database. Quelque chose que j'ai manqué ou besoin de changer car tout cela a bien fonctionné sur l'ancien WebServer -> Configuration du server de database que nous avions.

Pouvez-vous penser à quelque chose que j'ai oublié ou que je dois faire pour que les dates soient affichées en anglais sur le site sans modifier chaque page ASP et SQL contenant des dates car je n'ai jamais eu à le faire pour l'ancienne configuration.

Merci d'avance pour votre aide!