问题标签 [sqlclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8756 浏览

.net - 如何使用默认为 DateTimeKind.Utc 的 DateTime 值进行 DataSet.Fill?

我有一个应用程序,它可以从 SQL 读取数据并通过 WCF 将其发送到客户端应用程序,其方式类似于:

所有日期/时间都以 UTC 格式存储在数据库中。我注意到,如果运行应用程序的计算机上的时钟出现偏差,客户收到的日期/时间也会出现偏差。似乎如果 DateTime 类型是未指定的类型,WCF 将在内部将其表示为本地时间,并按原样发送,因此应用程序和客户端之间的任何时间差异都会导致日期/时间发生变化。

我当然可以在检索数据集并修复日期/时间字段时遍历它们,但是这里有人会想一些更好的方法来填充数据集,以便每个 DateTime 字段都会自动成为 da.Fill() 上的 DateTimeKind.Utc?

0 投票
1 回答
302 浏览

linq-to-sql - Linq to SQL:在提交到数据库之前修改命令

Linq to SQL 中是否有一个钩子可以让我在命令发送到数据库之前手动修改它?

具体来说,我试图在向WITH CHANGE_TRACKING_CONTEXT(@contextData)数据库应用插入/更新/删除时引入语法,以便能够添加针对更改跟踪的附加信息,例如发起更改的用户(这是一个 Web 应用程序使用 SQL 身份验证)。

只需在 CommandText 的开头插入此语法,同时将一个附加参数(@contextData)添加到 SqlCommand 对象,该对象将包含附加语句的数据。

提前致谢。

0 投票
4 回答
34961 浏览

c# - C# 使用 SqlCommand.Parameters 更新表

我正在尝试使用 SqlCommand 更新 MSSQL 表,我认为这是我的 T-SQL 的语法错误,但这是我目前所拥有的:

参数正常工作,但是,当我运行代码时,表格永远不会更新。任何帮助将不胜感激 =)

这是其余的代码:

该方法的签名:

0 投票
1 回答
32293 浏览

c# - C# 使用 SqlCommand.Parameters ASP.NET 更新表

可能重复:
使用 SqlCommand.Parameters 的 C# 更新表

我正在尝试使用 SqlCommand 更新 SQL Server 表,我认为这是我的 T-SQL 的语法错误,但这是我目前所拥有的:

参数正常工作,但是,当我运行代码时,表格永远不会更新。任何帮助将不胜感激 =)

这是其余的代码:

该方法的签名:

我已经通过探查器运行了它,它的作用如下。

这是表单的文件背后的代码。

在我看来,它正在做的事情是它再次运行我的 select 方法,这是页面加载时它应该做的事情。这是由刷新页面的按钮引起的吗?

0 投票
2 回答
4023 浏览

ado.net - ADO.NET SqlClient 连接字符串 - 数据源语法

有没有官方写的数据源字段可以在sql server连接字符串中采用什么形式?我知道以下表格:

还有更多的表格吗?

编辑:这个练习的本质不是构造一个连接字符串。我正在尝试解析现有的连接字符串,并且我想知道它可能采用的所有形式。感谢所有将我指向www.connectionstrings.com的人,这个站点非常有用,但它显然没有所有信息。例如,它不会指定可以使用“Data Source=tcp:SERVER,10000”之类的构造来指定 TCP 必须用于端口 10000 上的此数据源。

0 投票
1 回答
1362 浏览

c# - SqlClient Xml 输出参数“未提供”

运行以下代码时收到 SqlException。

“程序或函数‘usp_Search’需要参数‘@pxmlSearchOutput’,但未提供该参数。”

我的参数+请求。

使用 sql profiler,我可以提取以下内容:

我无法准确诊断出 SQL 出了什么问题(以及它与 .net 代码的关系)。有任何想法吗?

0 投票
2 回答
140 浏览

.net - 为什么 GetValues 将对象数组作为输入而不是返回一个新数组

SqlDataReader 类提供了一个名为 GetValues 的方法。我对这个方法感到好奇的是,它接受一个object[]作为输入并返回int复制到数组中的值的数量。

知道为什么该方法是这样设计的,而不是返回一个新数组吗?

0 投票
6 回答
15137 浏览

c# - SqlCommand() ExecuteNonQuery() 截断命令文本

我正在构建一个自定义数据库部署实用程序,我需要读取包含 sql 脚本的文本文件并针对数据库执行它们。

很简单的东西,到目前为止一切都很好。

但是我遇到了一个障碍,文件的内容被成功且完整地读取,但是一旦传递到 SqlCommand 然后用 SqlCommand.ExecuteNonQuery 执行,只有部分脚本被执行。

我启动了 Profiler 并确认我的代码没有通过所有脚本。

0 投票
1 回答
523 浏览

.net - “无法打开用户默认数据库”错误与“用户实例 = True”

我有一个使用 Sql 用户实例化的桌面应用程序。这是我的连接字符串:

我的应用程序创建了这个数据库,从 Web 服务下载大量数据到其中,然后对它执行很多操作。

当我尝试重新打开连接时,问题就来了。我得到一个SqlException

“无法打开用户默认数据库。登录失败。
用户 'myDomain\myusername' 登录失败。”

这个错误在这种情况下没有意义 - 我没有默认数据库。我正在登录一个仅为当前应用程序创建的实例,与 SqlExpress 分开运行。

没有其他方法可以连接到此数据库。如果我启动 SqlExpress 服务并连接到默认实例,它将不可见。它只存在于这个应用程序中。

磁盘上的文件被应用程序下运行的 SqlExpress 实例服务锁定。如果我停止应用程序并重新启动它,连接第一次工作,但重新打开失败。如果我只是停止应用程序,我可以删除 .mdf 文件并重新开始,但是当我重新打开连接时它仍然崩溃。

当我的应用程序启动以我身份运行的实例时,我当前的用户应该可以访问实例中的每个数据库。

相同代码的其他用户不会发生这种情况,这表明这是 SQL 配置问题。

有谁知道是什么原因造成的以及如何解决它?

0 投票
2 回答
13150 浏览

c# - .Net Windows 服务引发 EventType clr20r3 system.data.sqlclient.sql 错误

我有一个 .Net/c# 2.0 windows 服务。入口点包含在一个 try catch 块中,该块通知我出现问题并允许服务继续正常运行,但是当我查看服务器的应用程序事件日志时,我看到许多导致服务终止的“EventType clr20r3”错误不料。catch 块有一个“catch (Exception ex)”并且不会重新抛出异常。

每个 sql 命令的类型都是“CommandType.StoredProcedure”,并使用 SqlDataReader 执行。这些 sproc 调用在 99% 的时间内都能正常运行,并且都经过了彻底的单元测试、分析和 QA。我另外将这些调用包装在 try catch 块中以确保并且仍然遇到这些未处理的异常。

这仅在我们的生产环境中,不能在我们的开发或登台环境中复制(即使在重负载下)。

为什么我的错误处理不能捕捉到这个特定的错误?无论如何,是否可以捕获有关问题根本原因的更多细节?

以下是事件日志的示例:

此外