具有德语区域设置的SQL Server

更新时间:2024-04-26 下载TXT文档 下载Word文档

我们有一个已经运行了几个月的数据库应用程序,然后突然开始出现错误。

我注意到一个日期时间浮点计算异常,该异常正在与值0.05进行比较。我还注意到,写入到我们的xml日志文件中的日期的格式为d.mm.yy。

很明显,所使用的十进制运算符是',',日期分隔符是'。'。

该应用程序最初是使用英国英语区域设置安装的。我检查了仍然是英国英语的区域设置。

我在数据库连接字符串中注意到,主机的名称为" servername \\\\ instance,portNumber",在正常工作的安装中,正如我预期的那样,该主机名为" servername \\\\ instance:portNumber"。

有什么想法可以从中获取区域设置吗?另外,可能是他们用来对数据库运行应用程序的用户还是运行数据库的用户? 短码网=DuanMa.NET

JD。

控制面板..区域设置。

这听起来也像客户端应用程序问题,而不是SQL Server。如果将它们安装在同一盒子上,则SQL Server不会从OS区域设置中进行设置。

应用程序的用户可能具有德语语言环境,并且某些数据已作为浮点数或日期时间(使用客户端进行语言环境处理)以字符串形式传递。

SQL Server也永远也不会识别" 0,05 "。

SET LANGUAGE GERMAN

DECLARE @val float
SET @val = 0,05 --fail
GO
DECLARE @dt datetime
SET @dt = '23 Mrz 2009' --fail
GO
DECLARE @dt datetime
SET @dt = '23.03.2009' --ok
GO

对于SQL Server,"服务器名\\\\\\\\实例,端口号"是正确的。

  • SQL Server和该应用程序位于同一框上。我检查了区域设置,并将其设置为英国(英语)设置。不知道在哪里找。在当前配置下,似乎sql server在一个用户帐户下运行,而应用程序在另一个用户帐户下运行。
  • @JD:1.我猜应用程序正在将字符串传递给SQL Server,而不是本机数据类型。如果是这样,您需要确保应用程序的用户必须使用英国英语,而不管它对您还是对默认用户而言。我们管理不同的语言环境,因为我们将表示形式/捕获与SQL调用分开,即使德国用户输入" 0,05",我们也总是将" 0.05"发送到我们的服务器
  • @gbn:刚刚检查了运行客户端应用程序的用户的语言环境,它在英国(英语)。不知道从这里去哪里。据我所知,它已经工作了几个月,然后我们开始遇到这些错误(正如我之前所说,我们还写入了日志文件,并且日期开始使用"。"作为日志日期时间的分隔符)。
  • @jd。好的,SQL Server认为是什么?还是使用带有某些混乱设置的ODBC DSN。德语设置必须来自某个地方...
  • @gbn:由于压力(德国人可能会急躁:)),我们现在更改了应用程序以处理它。当我们有更多时间时,我们将再次进行查看。再次感谢您的所有帮助。

以上就是短码网小编为大家整理的《具有德语区域设置的SQL Server》相关内容,希望大家喜欢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若内容造成侵权/违法违规/事实不符,请将联系本站反馈,一经查实,立即处理!

具有德语区域设置的SQL Server》文档下载仅供参考学习,下载后请在24小时内删除。

转载注明出处:https://www.duanma.net/article/7c4a16f2433.html

回到顶部