Alternative to SQL BULK INSERT

∥☆過路亽.° 提交于 2019-12-22 12:53:45

问题


I need to import the data form .csv file into the database table (MS SQL Server 2005). SQL BULK INSERT seems like a good option, but the problem is that my DB server is not on the same box as my WEB server. This question describes the same issue, however i don't have any control over my DB server, and can't share any folders on it.

I need a way to import my .csv programatically (C#), any ideas?

EDIT: this is a part of a website, where user can populate the table with .csv contents, and this would happen on a weekly basis, if not more often


回答1:


You have several options:

  1. SSIS
  2. DTS
  3. custom application

Any of these approaches ought to get the job done. If it is just scratch work it might be best to write a throwaway app in your favorite language just to get the data in. If it needs to be a longer-living solution you may want to look into SSIS or DTS as they are made for this type of situation.




回答2:


Try Rhino-ETL, its an open source ETL engine written in C# that can even use BOO for simple ETL scripts so you don't need to compile it all the time.

The code can be found here: https://github.com/hibernating-rhinos/rhino-etl

The guy who wrote it: http://www.ayende.com/blog

The group lists have some discussions about it, I actually added bulk insert for boo scripts a while ago. http://groups.google.com/group/rhino-tools-dev http://groups.google.com/group/rhino-tools-dev/browse_thread/thread/2ecc765c1872df19/d640cd259ed493f1

If you download the code there are several samples, also check the google groups list if you need more help.




回答3:


i ended up using CSV Reader. I saw a reference to it in one of the @Jon Skeet's answers, can't find it again to put the link to it




回答4:


How big are your datasets? Unless they are very large you can get away with parameterized insert statements. You may want to load to a staging table first for peace of mind or performance reasons.



来源:https://stackoverflow.com/questions/579406/alternative-to-sql-bulk-insert

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!