问题标签 [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 回答
2807 浏览

vb.net - 为什么我可以通过 odbc 而不是通过 vb.net 代码连接到 sql server 2008?

我支持一个旧的 vb.net 程序,它连接的数据库从 SQL Server 2005 移动到 SQL Server 2008。SQL Server 2008 上是否有允许 ODBC 连接访问数据库但不允许 VB.NET 的设置以编程方式连接到它?

我在应用程序中不断收到的错误是:

建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接造成的。(提供者:命名管道提供者,错误:40 – 无法打开与 SQL Server 的连接)

但是,当我创建到 sql server 实例的系统 dsn 并通过 VS2005 的工具>>连接到数据库时,我可以连接到它。

这是我用来连接的代码:

0 投票
2 回答
5236 浏览

c# - 从 IDataReader 读取字段时出现间歇性 System.IndexOutOfRangeException

我在代码中有一个非常奇怪的问题,我不希望它会失败。这是一个基于 AspDotNetStoreFront 的网站,有一些流量,但不是很大。尝试从阅读器读取数据库字段时,站点间歇性崩溃。这发生在网站上的各个地方。此类代码的示例如下所示,对象 pValue = rs["PropertyValueString"];

这是 SqlClient 的标准用法,我看不出有什么问题。错误的堆栈跟踪是这样的:

System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) 在 System.Data.SqlClient.SqlDataReader.GetOrdinal(String name) 在 System.Data.SqlClient.SqlDataReader.get_Item(String name) 在 AspDotNetStorefront.ASPDNSFProfileProvider 的 System.IndexOutOfRangeException。 GetPropertValuePairs(String userName) 在 AspDotNetStorefront.ASPDNSFProfileProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection settingsProperties) 在 System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider) 在 System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName) 在 System.Configuration.SettingsBase.get_Item (String propertyName) 在 System.Web.Profile.ProfileBase.GetInternal(String propertyName) 在 System.Web.Profile.ProfileBase.get_Item(String propertyName) 在 System。Web.Profile.ProfileBase.GetPropertyValue(String propertyName) at AspDotNetStorefront.SkinBase.OnPreInit(EventArgs e) at System.Web.UI.Page.PerformPreInit() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

当站点崩溃时,它需要重新启动 IIS 才能重新启动。它在带有 .NET 3.5 和 SQL 2008 的 Windows Server 2008 上,都是最新的。该机器是 64 位的,SQL Server 启用了 32 位模式以及使用“经典管道模式”的应用程序池。连接字符串是

非常感谢任何帮助!

0 投票
3 回答
458 浏览

c# - c# 使用 SqlClient 排序结果与 ORDER BY 非常慢

在使用 SqlClient 获取排序结果集时,我昨天在 c# 中遇到了奇怪的情况。

以 SQL 查询为例:

SELECT Num, Name FROM Customer WHERE Num LIKE '%V%' OR Name LIKE '%V%' ORDER BY Num ASC

在这种特殊情况下,要订购的结果集大约有 100 行长。

问题如下:如果我在 sql-server 本身上运行查询,它会非常快!结果几乎在我单击“运行查询”的那一刻显示。但是当我使用 SqlClient 在 C# 中运行查询时,速度非常慢(大约 5-10 秒)。我对程序的每一小部分进行了基准测试,发现连接到 sql-server 大约需要 10 毫秒,因此两台机器之间的链接不会是问题。

我几乎尝试了所有方法,直到我发现,如果我从查询中删除 ORDER BY Num ASC,使用 SqlClient 的 C# 查询返回的结果几乎与直接在 sql-server 上运行查询一样快。

所以我的问题是:与 sql-server 本身相比,C# 中的 SqlClient 到底在用 ORDER BY 做什么来将使用时间乘以数百万?=)

0 投票
1 回答
716 浏览

sql-server - SQL Server 命令超时 - 仅限可执行文件

我收到一条错误消息:

System.Data.SqlClient.SqlException:超时已过期。

我已经将此追溯到默认设置为 30 秒的命令超时。果然,当分析时,在 30 秒时完成(失败)。

简单的答案是增加CommandTimeout代码中的值。这是一个问题 - 我只有一个可执行文件可以使用。

正在运行的查询是一个存储过程,通常在 18 到 26 秒之间运行,最近已经达到 30 多秒的范围。我已经尽我所能来优化查询,这是在三个带有连接的表上的一个丑陋的选择。无论如何,这并不是一个真正的选择,因为数据集将继续增长,并且将来会再次成为问题。

我可以在网上和其他地方找到的所有建议都说,唯一CommandTimeout可以设置的地方是在连接建立后的代码中,没有其他方法可以调整命令超时。

我准备开始反编译可执行文件以尝试覆盖/设置命令超时的默认值..

关于如何以非编程方式增加命令超时值、轻松设置命令超时值或其他(希望)更明智的解决方案的任何建议?

谢谢你的帮助!

ps - 我已经读了很长一段时间了。我的名声很臭,因为我总是不用发帖就能找到答案。你们太棒了,我很高兴我终于找到了开始的方法!

0 投票
1 回答
207 浏览

.net - .NET - SqlConnectionStringBuilder.AsynchronousProcessing

也许是一个愚蠢的问题,但我想知道为什么在使用 SqlConnectionStringBuilder 时,我想将 .AsynchronousProcessing 设为 false。我确定这是我的经验不足,但我无法弄清楚不允许使用特定连接字符串创建的连接在单独的线程上运行的目的是什么。我什么时候想积极防止这种情况发生?

0 投票
1 回答
2210 浏览

connection-string - 何时在连接字符串中指定 providerName="System.Data.SqlClient"

我在运行 Windows 服务时遇到问题,NT AUTHORITY\LOCAL SYSTEM该服务无法连接到数据库。

为此特定服务指定的连接字符串与在同一帐户下运行的另一个服务之间的唯一区别providerName是缺少该属性。一旦我添加

到服务可以访问数据库的连接字符串。谁能解释为什么会这样?我认为 System.Data.SqlClient 是默认提供程序。

0 投票
1 回答
73 浏览

java - Java Beginner:带有前端 GUI 的嵌入式 SQL 客户端,

我正在寻找带有 GUI 的 Java SE 可嵌入 sql 客户端

0 投票
2 回答
117 浏览

c# - 有没有办法从 c# 中的连接字符串中获取表层次结构?

我目前需要从 c# 中的 sql 语句确定表层次结构。例如,考虑以下 sql 语句:

这可能会返回 7 列,Table1 为 3,table2 为 4。我需要知道列名,理想情况下(尽管不是强制性的)它们的类型。

我无法控制将使用什么 SQL 语句,因为这是用户输入的字段。在 C# 中,打开连接并使用该语句创建 SqlCommand 是一项非常基本的任务。如果需要,我可以自由地将 SQL 运行到 SqlDataReader 或任何其他 System.Data.SqlClient 类中,但是我找不到任何可以返回列而不是实际列值的组合。

有人能帮忙吗?

致以真诚的感谢和诚挚的问候

0 投票
2 回答
7573 浏览

.net - C# 和 SQL Server 连接

我似乎无法连接到我的本地数据库。每次我运行它时,它都会弹出一个空白窗口(空白命令行窗口)。

我想念什么?

当我运行调试时,它给了我错误myConnection.Open();

SqlException 未处理:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

0 投票
1 回答
1095 浏览

asp.net - 我的标签文本在 page_load asp.net 上没有改变

我刚开始看asp.net。我有这段代码可以在 VB 中工作,但不能在 asp 中工作。

我把它放在page_load中:

知道为什么这在 asp.net 中不起作用吗?问题是标签是空白的。在 vb.net 中,表单一显示,标签就会显示“它已连接”。