我需要将大量(16GB,6500万条记录)CSV文件上传到SQL Server 2005数据库中的单个表.有没有人对最佳方法有任何指示?
细节
我目前正在使用C#控制台应用程序(.NET framework 2.0)将导入文件拆分为50000条记录的文件,然后处理每个文件.我使用SqlBulkCopy类将数据从控制台应用程序上传到数据库中,批量为5000.分割文件大约需要30分钟,上传整个数据集(6500万条记录)大约需要4.5小时.生成的文件大小和批量上载大小都是配置设置,我正在研究增加两者的值以提高性能.要运行该应用程序,我们使用具有16GB RAM的四核服务器.该服务器也是数据库服务器.
更新
鉴于到目前为止的答案,请注意在导入之前:
导入完成后:
如果您可以建议任何不同的方法,或者我们可以改进现有导入应用程序的方法,我将不胜感激.谢谢.
相关问题
以下问题可能对处理此问题的其他人有用:
解
我已经调查了改变批量大小和拆分文件大小的影响,发现500个记录的批次和200,000个记录的拆分文件最适合我的应用程序.使用SqlBulkCopyOptions.TableLock也有帮助.有关详细信息,请参阅此问题的答案.
我还研究了使用SSIS DTS包和BULK INSERTSQL脚本.SSIS包看起来更快,但没有让我能够记录无效记录等BULK INSERT.SQL脚本虽然比SSIS包慢,但比C#应用程序要快得多.它确实允许我记录错误等,因此,我接受BULK INSERT来自ConcernedOfTunbridgeWells的答案作为解决方案.我知道这可能不是面对这个问题的每个人的最佳答案,但它解决了我的直接问题.
感谢所有回复的人.
此致,MagicAndi
我需要监视并报告在安装软件程序期间所做的所有更改(添加的文件夹和目录,更改的权限,添加的注册表项).任何人都可以建议一个能够做到这一点的工具吗?
谢谢,MagicAndi.
使用SharePoint 2010中的客户端对象模型(C#),如何确定给定列表中是否存在指定的列(字段)名称?
谢谢,MagicAndi.
我最近遇到了Polymorphic Code这个术语,并且想知道是否有人可以建议在计算机程序中使用它的合法(即合法和商业合适的软件)理由?链接到现实世界的例子将不胜感激!
在有人回答之前,请告诉我们关于面向对象编程中多态的好处,请阅读以下多态代码定义(取自维基百科):
" 多态代码是使用多态引擎进行变异同时保持原始算法完整的代码.也就是说,代码每次运行时都会自行更改,但整个代码的功能根本不会改变. "
谢谢,MagicAndi.
更新
到目前为止的答案摘要:
我还被介绍了" 变形代码 " 这个术语.
我有许多版本相关的相关数据库.不同版本的实例可以并排运行,由不同版本标识,即[NorhwindV1.1]和[NorhwindV1.2]可以与[SouthwindV1.1]和[SouthwindV1.2]一起位于同一服务器上.
有许多存储过程可以进行跨数据库查询,即存在于NorthwindV1.1上,也存在于SouthwindV1.1中的查询表中.使用更改版本号管理数据库名称更改的最佳方法是什么,以便存储过程查询正确的数据库版本?
谢谢,MagicAndi.
我需要在代码中设置SharePoint页面的页面标题(页面标题).我已经测试过了
this.Page.Title = "My Page Title";
Run Code Online (Sandbox Code Playgroud)
但是,当页面加载时,这不会改变标题.任何人都可以提供有关如何做到这一点的建议吗?
谢谢,MagicAndi
我有一个已删除的SQL Server 2005数据库,我需要发现谁删除了它.有没有办法获得这个用户名?
谢谢,MagicAndi.
我有兴趣为我正在进行的SharePoint开发工作编写单元测试.任何人都可以建议在MOSS中实施单元测试的实用方法吗?
请注意,任何第三方工具都必须是免费的(但不一定是开源的); 我工作的公司不会支付额外的工具费用.特别是,可以理解用于SharePoint的Typemock Isolator的任何替代方案.
谢谢,MagicAndi.
我有兴趣了解有关Microsoft Office Communicator IM客户端的更多信息,以及它如何确定您的存在(即,如果您在计算机或远离计算机).任何人都可以指向我解释这个或API细节的教程吗?
只是询问是否可以通过SharePoint 2010客户端对象模型访问和更新列表项的属性包中的属性?我可以看到可以获取web的属性包(但不能设置),但是在列表或列表项上看不到对属性包的任何支持.
或者,如果可以通过SharePoint Web服务访问属性,那么这也很有用.
谢谢,MagicAndi.
sharepoint web-services client-side sharepoint-api sharepoint-2010
sharepoint ×4
sql-server ×3
.net ×2
client-side ×2
moss ×2
.net-2.0 ×1
api ×1
asp.net ×1
c# ×1
csom ×1
csv ×1
database ×1
installation ×1
sql ×1
unit-testing ×1
web-services ×1
windows ×1