草庐IT

sql-server-openxml

全部标签

c# - 重现 "A connection that was expected to be kept alive was closed by the server."

我们在winforms应用程序中使用WebClient、.NET3.5sp1。对于一些用户来说,这个结果在消息异常中:“基础连接已关闭:服务器关闭了预期保持事件状态的连接。”在网络上搜索了一下,建议“修复”以禁用httpkeepalive,我们对此并不真正感兴趣,有人认为它可能是.NET库中的错误,等等。错误消息表明它是一个keepaliv'edhttp连接,它以某种方式被服务器(或代理)关闭,而WebClient的底层未正确检测到它。我们正在考虑捕获这个特定案例,然后再次尝试该请求。但是我们无法重现此异常。所以。我们如何才能正确捕获产生上述错误消息的情况。catch(WebExcep

c# - 如何使用 LINQ to SQL/ADO.NET 获取执行计划

是否可以通过编程方式获取LINQtoSQL或ADO.NET查询的执行计划以显示在调试信息中?如果是,怎么办? 最佳答案 当然,您需要两样东西。DbConnection、DbCommand和DbDataReader的自定义实现。您可以使用它来拦截所有发送到数据库的SQL。您基本上设置了它,所以您有一个记录所有运行的SQL的层。(我们计划在未来几个月内开源这方面的东西,敬请期待)一种显示数据意义的方法,恰好在这里是开源的:https://data.stackexchange.com/stackoverflow/s/345/how-uns

c# - 是否有将 T-SQL 存储过程转换为 C# 的工具?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。去年关闭。Improvethisquestion2017年更新:实际上,答案是不,即使有,您也应该非常谨慎地使用它.实际上只有两种方法可以解决这个问题:a)咬紧牙关,手动和煞费苦心地转换所有内容,并使用某种验证方法来检查一切是否继续按预期运行,例如单元/回归测试。使用Linqer之类的工具(如果可用)作为帮助来解决部分问题。b)从头开始​​。没有选项c)可以让其他东西整齐和自动地处理所有事情,并且它不可能涵盖所有情况。有很多T-SQL可

c# - 当 dbContext 带有 'using' block 时,如何从 Linq 返回 IQueryable 到 SQL 查询?

我一直在使用“使用”block进行编码,但我想知道我是否可以从以下返回一个IQueryable而无需在我访问它之前处理该对象。publicIQueryableGetContacts(stringclientID){using(dbDataContextdb=newdbDataContext()){varcontacts=from_contactsindb.Contactswhere_contacts.ClientID==clientIDorderby_contacts.LastNameascendingselect_contacts;returncontacts;}}我是简单地删除“u

c# - 将数据从 Sql Server 推送到桌面应用程序

我有一个用c#编写的非常简单的.net4桌面应用程序,它需要显示一些插入到SQLServer(2005)表中的数据。数据本身很简单,只有一行大约10列,(主要是其他数据的计数)。我可以每隔x间隔从应用程序中轮询sqlserver,但我更喜欢让sqlserver在可能的情况下将数据推送到该应用程序,因为“新数据”的时间通常是不规则的。简而言之,我想知道这是否可能。在发布这个问题之前做了一些研究,我发现了一些可能性。1)SignalR:我找到了this这个问题看起来很有希望,但这似乎是在网络应用程序而不是桌面应用程序的上下文中。在查看signalRwiki时,我觉得它需要某种网络服务或其他

c# - Linq To SQL 选择动态列

是否可以动态限制从LINQtoSQL查询返回的列数?我有一个包含50多个列的数据库SQLView。我的应用程序有一个包含50多个属性的域对象,每列一个。在我的winforms项目中,我将域对象列表绑定(bind)到网格。默认情况下,只有少数列可见,但用户可以打开/关闭任何列。用户提示网格加载时间太长。我捕获了LINQ生成的SQL查询,然后在SQLServerManagementStudio中执行它并验证了它的速度。如果我更改SQL语句,删除所有不可见的列,它几乎会立即运行。性能与查询中的列数直接相关。我想知道是否可以动态更改从LINQ生成的SQL查询返回的列数?例如,这是我的代码目前的

c# - 使用 DataTable 插入或更新 SQL 表

首先,我不能使用任何存储过程或View。我知道这可能会适得其反,但这不是我的规则。我有一个DataTable,里面装满了数据。它具有我的SQL表的复制结构。ID-名称SQL表当前有一些数据,但我现在需要用DataTable的所有数据更新它。如果ID匹配,它需要更新SQl表,或者添加到它唯一的列表。有什么方法可以仅在我的WinForm应用程序中简单地执行此操作?到目前为止,我有:SqlConnectionsqlConn=newSqlConnection(ConnectionString);SqlDataAdapteradapter=newSqlDataAdapter(string.For

c# - Azure 存储 : 403 Server failed to authenticate the request

我在此处和Google中进行了搜索,但找不到解决方案。我想使用我的C#代码从Azure存储Blob中读取文件。代码(仅6行)在另一个项目(Windows8.1通用应用程序)中运行良好,但在我的新Windows10UWP应用程序中运行不佳。这是我的代码:CloudStorageAccountstorageAccount=CloudStorageAccount.Parse(azureConnectionString);CloudBlobClientblobClient=storageAccount.CreateCloudBlobClient();CloudBlobContainercont

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - Entity Framework 中是否有一个函数可以转换为 SQL 中的 RANK() 函数?

假设我想按国家/地区对我的客户数据库进行排名。在SQL中我会写:selectCountryID,CustomerCount=count(*),[Rank]=RANK()over(orderbycount(*)desc)fromCustomer现在我想在EntityFramework中写这个:varranks=db.Customers.GroupBy(c=>c.CountryID).OrderByDescending(g=>g.Count()).Select((g,index)=>new{CountryID=g.Key,CustomerCount=g.Count,Rank=index+1