【c# – SqlConnection在打开时挂起】教程文章相关的互联网学习教程文章

C#-SqlConnection.OpenAsync()退出而不会引发异常【代码】

我有以下代码.对connection.OpenAsync()的调用将毫无例外地退出程序.即使最后调用者方法也不会被调用.程序针对.NET45,有什么想法吗? 更新:这是与.Wait()一起使用的父代码.在下面的子方法中调用connection.OpenAsync()时,在父代码中不带.Wait()的情况下退出.static void Main(string[] args){UpdateSqlDatabase updateSqlDatabase = new UpdateSqlDatabase(args);updateSqlDatabase.UpdateDatabaseSchemaAsync().Wait();}经过一系...

c# – 只使用SqlConnection SqlCommand和SqlDataReader进行数据访问层是否可以

我知道现在有很多可以使用的现成东西,但如果你想完全控制数据库请求/查询,以及最佳性能,我认为这是要走的路.另外因为ADO.NET为SqlConnection自动连接池,你怎么看?解决方法:如果您需要最佳性能,那就没关系.它为您提供更多控制和更好的性能.顺便提一下,这篇文章是关于在使用ADO.NET时会影响性能的事情:How Data Access Code Affects Database Performance

C#CancellationToken如何与SqlConnection.OpenAsync(令牌)一起使用?【代码】

我正在尝试使用带有SqlConnection.OpenAsync()的CancellationToken来限制OpenAsync函数所花费的时间. 我创建了一个新的CancellationToken,并在200毫秒后将其设置为取消.然后我将它传递给OpenAsync(令牌).但是,此功能仍需要几秒钟才能运行. 看文档我真的看不出我做错了什么.https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.openasync?view=netframework-4.7.2 这是我正在使用的代码:private asy...

c# – SqlConnection在打开时挂起【代码】

我有一个程序可以将多个请求并行发送到SQL Server实例.在我的所有并发请求中,其中一个总是在db.open()上阻塞几秒钟.void MyMethod() {var brands = new List<string>{"Chevy", "Honda", "Ford", "GM"};var foundCars = new ConcurrentBag<Car>(); Parallel.ForEach(brands, brand =>{logger.Trace(brand + " before enqueue");foundsCars.Enqueue(FindCar(brand));logger.Trace(brand + " after enqueue");}); }public Car Fin...

c# – SqlCommand-SqlConnection使用Disposing问题【代码】

根据MSDN的IDisposable资源 嵌套的内部using语句包含外部使用的资源 声明,嵌套资源的Dispose方法释放了 包含资源. MSDN(http://msdn.microsoft.com/en-us/library/ms182334.aspx)=>Example Nested using statements (Using in Visual Basic) can causeviolations of the CA2202 warning. If the IDisposable resource of thenested inner using statement contains the resource of the outer usingstatement, the Dispose method ...

c# – 使用异步时不处理SqlConnection【代码】

我有一个项目,它有一个Sql-Server数据库后端和Dapper作为ORM.我试图使用Dapper的QueryAsync()方法来获取一些数据.不仅如此,对我的repo的调用来自于使用Task.WhenAll调用的几个任务(也就是说,每个任务都涉及从该repo获取数据,因此每个任务都等待我的repo包装QueryAsync的方法()致电). 问题是我的SqlConnections永远不会关闭,即使我使用的是使用块.因此,我有100个与我的数据库的开放连接,并最终开始获得“达到最大池大小”的异常.问题...

c# – 使用ADO.Net SQLConnection对象的ConfigureAwait(false)【代码】

我已经开始对所有异步sql对象使用ConfigureAwait(false).connection.OpenAsync().ConfigureAwait(false); cmd.ExecuteNonQueryAsync().ConfigureAwait(false);但我担心的是,这种方法会有什么影响吗? 因为这将在一个线程池上运行,该线程池是一个独立的线程,它起源于我不确定如果我们不在单个线程上运行它的后果. 我们的应用程序是wcf服务,它将并行处理1000个记录. 如果有人帮助识别可能有用的问题的业务场景. 谢谢解决方法:作为一般...

c# – SqlConnection InfoMessage不使用BeginExecuteNonQuery【代码】

我想从SQL存储过程中打印消息. 如果我使用SYNC选项执行cmd.ExecuteNonQuery连接会触发InfoMessage事件,但是当我使用ASYNC选项执行时,不会触发该事件. 在ASYNC执行时,我没有收到事件的原因吗? 这是我的代码:class Program {static string connstring ="data source = xyz;initial catalog = abc;user id=abc;password=abc;Asynchronous Processing=True";static void Main(string[] args){SqlConnection conn = new SqlConnection...

c# – 使用相同的ConnectionString打开两个SQLConnection

我正在追踪我自己没有写过的图书馆中的一个错误.在ASP.NET中使用此库时,我得到数据库连接错误,因为当使用相同的连接字符串打开第二个连接时,SQLConnection似乎已关闭. 这是记录在案的行为?可以用相同的连接字符串打开一个新的SQLConnection来关闭另一个SQLConnection对象吗? 从调试看起来似乎是我的问题的最可能原因,但我在网上找不到任何支持我的理论的东西.解决方法:不,当您调用SqlConnection.Open()方法时,即使使用相同的连接...

c# – 有没有办法在SqlConnection GetSchema()查询上扩展超时?【代码】

我试图做的电话是DataTable dt = connection.GetSchema("Columns");但是我的查询超时了.有没有办法增加这次通话的超时? 与数据库本身的连接打开得很好,因此连接超时对我没有任何帮助. 我也看到SqlCommand有一个CommandTimeout属性,但我不知道这是否真的适用于此. 那么有没有办法可以延长GetSchema调用的超时时间?任何帮助表示赞赏!解决方法:我猜你的当前用户可能没有此命令所需的权限. 你有没有尝试过:DataTable dt = connecti...

c# – 为什么强制.Close()和使用(…)后SqlConnection仍然打开?【代码】

我正在对ADO.Net和EF进行一些实验,以便更好地理解它如何处理SQL Server连接. 我发现ADO.Net非常有趣.我正在创建多个任务,调用一个简单的插入SQL脚本,并正确等待处理SqlConnection和SqlCommand.这里没什么特别的,但是当10k任务完成处理时,所有SQL连接仍然挂起(我通过运行sp_who确认).清除这些连接的唯一方法是关闭应用程序实例. 这怎么可能呢?我尝试了很多东西来强迫它关闭,= null数据访问实例强制GC但没有… 我试图从这种行为中弄...

CONNECTION - 相关标签