数据库 查询超时 运行超时 问题
Q:用C#写个小程序,有两个数据库,A1,A2,现在A1的50张表中有上百万条数据,A2中相对的50张表用truncate table清空,然后将A1的50张表的数据逐表插入到A2的50张表中.有一张表数据就达90多万条,单独插入时还是提示“运行超时”。问下高手,这样情况如何解决呢?
A:把超时时间设长 SQL菜单——》工具——》选项 查询超时 选项 改为0。
多线程+分段;
做到导入导出数据包吧 ssis执行包。。程序调用;
SqlCommand类的默认超时是30秒,你需要修改那个CommandTimeout属性才行。
另外如果你是数据库直接可以直接访问的话,通过链接服务器来操作会更好,直接在数据库里面执行了。
用SQLDBCOPY对象,设定好timeout超时间隔!
导入导出工具:toll\bin 下的dtswiz.exe直接搞定。2005取消了这个工具,所以在05目录下是没有的。sqlserver2000下有;
写代码的话你必须用存储过程,建索引。。。效率差的不止一点。想在代码中sqlcommand搞定。不用想啦。我测过800m的文本,存储过程+索引 比纯sql代码效率快很多
SqlBulkCopy,每秒两万到三万。流形式。
SqlBulkCopy大数据量时超时解决办法
异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
解决的办法:微软已经给出了解决办法了。只需要按照如下表下载相应的补丁在服务器上安装即可。
对于基于 x86 的计算机
http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe
对于基于 x64 的计算机
对于基于 Itanium 的计算机
因为公司客户的服务器不允许随便打补丁,最后,只能改用分批处理数据的方法来处理了,还好一样可以解决问题。
自己用BCP解决了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~