最近我决定搬到另一台服务器。现在我的应用程序运行在具有不同文化(IT 和 EN)的不同服务器上。
一切正常,但现在我在日期和数字方面面临许多问题。
主要问题似乎是 SQL Server。事实上,SQL SERVER 会抛出错误。我使用 ParseExact 方法解决了日期问题:
e.Command.Parameters["@Expiry"].Value =
DateTime.ParseExact("31/12/2099", "dd/MM/yyyy", null);
对于十进制数,我必须交换“。” 和“,”(取决于文化)如果我想让应用程序工作:
Latitude.Value = Latitude.Value.Replace(".", ","); //ONLY for ITALIAN CULTURE
e.Command.Parameters["@Latitude"].Value = Latitude.Value;
我再说一遍:错误是由 SqlServer 生成的。有没有办法一劳永逸地设置文化?
PS:EN 服务器是 GoDaddy Hosting。
更新: 问题是纯 Sql Server。事实上,检查我的服务器,我在第一个服务器上发现了一个“,”和一个“。” 在第二个作为货币和小数的分隔符。我发现:ALTER LOGIN 'MYDBLOGIN' WITH DEFAULT_LANGUAGE = Italian; 去
通过前面的查询,我能够更改 sql server 上的文化。但是,问题仍然存在。