问题标签 [sqlconnection]

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 投票
3 回答
48383 浏览

sql - ExecuteReader 需要一个打开且可用的连接。连接的当前状态为关闭

好的,我本周早些时候询问了这个非常错误的问题,并得到了一些非常有用的答案,毫无疑问,自从我开始遵循这些建议以来,情况已经有了很大的改善。

但是,现在我正在使用“正确”的最佳实践方法来访问数据库,但在某些功能上仍然出现此错误,并且我无法让它在该块中消失。这是我的代码:

现在无论我做什么,我都会得到:ExecuteReader 需要一个开放且可用的连接。连接的当前状态为关闭。在这个连接上。我在这个类(cmd、dr 等)中确实有带有对象的函数(cmd、dr 等),但是 Using 会在它自身之后关闭,不是吗?

欢迎提出建议:)

0 投票
6 回答
70891 浏览

.net - SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 有什么区别?

SqlCommand.CommandTimeout.NET和SqlConnection.ConnectionTimeout.NET之间有什么区别吗?

0 投票
6 回答
21939 浏览

c# - 我应该何时打开和关闭与 SQL Server 的连接

我有一个简单的静态类,其中包含一些方法。这些方法中的每一个都打开一个 SqlConnection,查询数据库并关闭连接。这样,我确信我总是关闭与数据库的连接,但另一方面,我不喜欢总是打开和关闭连接。下面是我的方法的示例。

考虑到方法在静态类中,我应该有一个包含单个 SqlConnection 的静态成员吗​​?我应该如何以及何时放弃它?最佳实践是什么?

0 投票
3 回答
9912 浏览

sql-server - Windows 身份验证受信任的连接不起作用

MSSQL Server 位于“abc”域中并具有混合模式身份验证。我从不在域或域“xyz”但使用 MSSQL Jdbc 驱动程序 2.0 的同一网络中的机器连接。我在 xyz 域中以管理员或帐户身份登录。

使用以下 url 连接“sa”或 SQL 模式身份验证可以正常工作。

jdbc:sqlserver://%DB_IP%:%DB_PORT%;SelectMethod=cursor;DatabaseName=dbname

它不适用于使用凭据的窗口身份验证,"MSSQLDomain\username""abc\username"使用以下 url

jdbc:sqlserver://%DB_IP%:%DB_PORT%;SelectMethod=cursor;integratedSecurity=true;DatabaseName=dbname;

给出以下错误。用户 '' 登录失败。用户未与受信任的 SQL Server 连接关联。

我尝试将属性 Trusted_Connection=Yes 添加到 url,但仍然给出相同的错误。我不想映射 SQL Server 的驱动器。通过提供“MSSQLDomain\username”和密码,我可以访问 SQL Server 机器的任何共享文件夹。

如果两台机器都在同一个域中,它适用于两种身份验证模式。如果我从不在域或同一网络(即同一子网)内的“xyz”域中的机器上使用 jtDS 驱动程序,它工作正常。

0 投票
2 回答
936 浏览

sql-server - 登录问题 Windows 身份验证

重复:Windows身份验证受信任连接不起作用

我以“ abc\user1 ”身份登录Windows Server(机器1)。Windows Server 机器位于 abc 域中。MSSQL Server 位于机器 1 上的“abc”域中,并且具有混合模式。身份验证。它有帐户“abc\user1”和“abc\user2”。两者都有系统管理员和服务器管理员的角色。

我使用“ abc\user2 ”登录了另一台机器(机器 2)。同域。运行连接到 MSSQL Server 的 ant。URL形成如下。

jdbc:sqlserver://%DB_IP%:%DB_PORT%;SelectMethod=cursor;integratedSecurity=true;DatabaseName=dbname;

1)从机器 2,如果我使用“abc\user2”凭据进行连接,那么它工作正常。因为integratedSecurity=true。

2) 从机器 2 开始,如果我使用“abc\user1”凭据进行连接,那么它就不行了,因为integratedSecurity=true 并采用系统凭据,即“abc\user2”。 即使我让 IntegratedSecurity=false,那么它也不会使用 "abc\user1" 连接

我对来自 Machine2 的“abc\user1”的 URL 进行了哪些更改以进行连接。url中要添加哪些属性?或驱动程序不支持使用另一个域\用户凭据?

需要在 MSSQL Server 上设置什么?

迪帕克

0 投票
4 回答
988 浏览

.net - SqlConnection - 是远程连接还是本地连接?

如果我有 SqlConnection 对象,我如何确定它是本地连接(localhost 或 127.0.0.1)还是远程连接(本地区域的其他机器)?

0 投票
5 回答
1033 浏览

c# - 将代码重构为 using 语句

我有一个带有很多方法的 dal 层,它们都调用存储过程,一些返回列表(所以使用SqlDataReader),其他的只有一个特定的值。

我有一个辅助方法可以创建SqlCommand

现在我的平均(过度简化)方法体看起来像:

有没有办法重构它,这样我就不会失去我的辅助功能(它会做很多其他重复的工作),而且还能使用using

0 投票
4 回答
4739 浏览

c# - 管理 SQL Server 连接

SQL 连接的最佳实践是什么?

目前我正在使用以下内容:

我读过这是一种非常有效的 SQL 连接方式。默认情况下,SQL 池是活动的,所以我的理解是,当using代码结束时,SqlConnection对象被关闭并释放,但与数据库的实际连接放在 SQL 连接池中。我错了吗?

0 投票
8 回答
16216 浏览

c# - 将 C# 的“使用”语句与自定义对象的函数一起使用,我是否需要实现 IDisposable?

我有一个这样的 sqlConnection 管理器类:

如果我使用带有“使用”语句的函数,例如:

using 语句是否会自动处理连接,因为conn.Connection()返回一个 SqlConnection 对象?或者,我是否必须在 SqlConn 类上实现 IDisposable 和自定义 Dispose 方法?

这甚至是一个好方法吗?我正在使用遗留代码,我还不能使用 ORM,但是有没有办法简化这个现有的模式来管理/创建 SQL 连接?

0 投票
4 回答
4623 浏览

asp.net - 在 ASP.NET 中调用 DB 后与 SQL 的连接未关闭

我有一个通用方法来调用 ASP.NET 中的存储过程:

即使我正在调用 CommandBehavior.CloseConnection,连接也没有关闭。第一次请求页面时,我可以很好地获取数据。重新加载时出现以下错误:

连接未关闭。连接的当前状态是打开的。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:连接未关闭。连接的当前状态是打开的。

源错误:

第 35 行:第 36 行:} 第 37 行:sql.Connection.Open(); 第 38 行:iReader = sql.ExecuteReader(CommandBehavior.CloseConnection); 第 39 行:sql.Dispose();

最后,如果我把 sql.Connection.Close(); 之前 sql.Dispose(); 我收到 iReader 不可读的错误,因为它已经关闭。

显然我错误地关闭了我的连接,有人能指出我正确的方向吗?