- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个安装了英语(美国)语言的 SQL Server 2008R2 实例。 SSMS > 实例 > 属性 > 常规。
我们使用默认语言“英式英语”设置了登录。 SSMS > 安全 > 登录 > 用户 > 属性。
前端 .NET Core 应用程序通过表单/Web API 生成插入语句 (EF),它使用上面设置的登录创建“sp_executesql”系统存储过程。
使用 SQL Server Profiler,我可以看到生成的插入 SQL 包含格式为 'yyyy-mm-dd'.
的字符串日期。例如 "2019-01-15 10:59:19.410"
.
在执行该语句之前,有一个 exec sp_reset_connection 后跟以下 SET 语句(我相信这与连接池共享有关,以确保每次登录的正确设置)。
-- network protocol: LPC
set quoted_identifier on
set arithabort off
set numeric_roundabort off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set cursor_close_on_commit off
set implicit_transactions off
set language British
set dateformat dmy
set datefirst 1
set transaction isolation level read committed
yyyy-mm-dd
中有日期,该语句也能成功运行。格式,而环境设置为英式英语 (DMY)。例如 -
"2019-01-15 10:59:19.410"
.
SET LANGUAGE [British English];
SELECT
CAST('2019-01-13' AS DATETIME);
Msg 242, Level 16, State 3, Line 3 The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
Msg 8114, Level 16, State 1, Line 14 Error converting data type varchar to datetime.
最佳答案
实际发生的是 Entity Framework 生成参数化语句,然后使用(二进制)TDS 协议(protocol)将这些语句传递给服务器,这就是应用程序与 SQL Server 通信的方式。 DATETIME
作为 RPC 参数传递的值不作为字符串传递——它们作为表示精确值的字节序列传递(例如,当作为 2019-01-15T10:59:19.410
(两个小端整数)发送时,D6 A9 00 00 AF 16 B5 00
表示为 DATETIME
).(免责声明:我实际上并没有使用数据包嗅探器进行检查,所以我可能弄错了字节)。
当这些参数化语句由 SQL Profiler 呈现时,就好像它们是文本批处理一样,它会将值重新格式化为字符串,因为 T-SQL 没有 DATETIME
的原生文字格式。值。不幸的是,它使用的格式不能保证在所有可能的语言设置下都可以往返,这应该被视为 Profiler 中的一个错误。它所缺少的只是一个 T
,但这是一个重要的遗漏。
类似的事情发生在神秘的 exec sp_reset_connection
身上。您可以看到所有使用连接池的应用程序的痕迹都随处可见——实际上没有应用程序生成这些调用,如果您尝试在 Management Studio 中执行此语句,您将看到没有 sp_reset_connection
程序。在协议(protocol)级别,数据包 header 中只有一个“重置此连接”位,该位被转换为一个虚构的调用,带有虚构的 SET
。当它作为语句或事件跟踪呈现时,表示当前选项的语句。
简而言之:您的应用程序运行良好,但是如果您想准确地重放它们进行调用时发生的情况,则复制粘贴 Profiler 输出将不起作用。
关于sql-server - SQL 跟踪/分析器 - 显示的日期格式不明确 (.NET Core/EF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54198137/
我在 linux 上工作。我对windows没有太多想法。 windows中文件的权限是如何组织的?我们在unix中是否有像chmod这样的api来更改权限? 最佳答案 对于 Windows,有一个名
应用程序编程接口(interface) (API) 是一组用于访问基于 Web 的软件应用程序的编程指令和标准。 如果出现 ,有人可以向我解释一下吗?谷歌地图 或 优酷 这是API哪个是softwar
我有两个应用程序,A 和 B,它们使用 android 库 C。B 有一个服务 A 想通过 C 使用,例如 在我的库中有一个类试图将它绑定(bind)到服务,
我正在正常或安全模式下启动相机应用程序,具体取决于使用我的应用程序执行的手势,但一旦用户选择应用程序并点击始终,则没有选项可以更改默认值,即使是从 Android 的设置菜单中也是如此. camera
我有一个数据集,本质上是一个稀疏二进制矩阵,表示两个集合的元素之间的关系。例如,让第一组是人(用他们的名字表示),例如像这样的东西: people = set(['john','jane','mike
何为pythonic? pythonic如果翻译成中文的话就是很python。很+名词结构的用法在中国不少,比如:很娘,很国足,很CCTV等等。 我的理解为,很+名词表达了一种特殊和强调的意味。
某些 Prolog 目标的确定性成功问题已经一次又一次地出现在 - 至少 - 以下问题: Reification of term equality/inequality Intersection an
我指的是 DateTime.TryParse(string s, out DateTime result) 重载,它尝试从字符串中解析 DateTime - 没有特定的格式正在指定。 我可以从http
2020 年 04 月 10 日,《中共中央国务院关于构建更加完善的要素市场化配置体制机制的意见》正式公布,将数据确立为五大生产要素(土地、资本、劳动力以及技术)之
有人可以解释一下 NSNotification 的 addObserver 函数中 notificationSender 的用途吗? 这是 Apple 文档的解释: notificationSende
我是一名优秀的程序员,十分优秀!