把csv文件导入到SQL Server表中

发布网友 发布时间:2022-04-21 23:47

我来回答

5个回答

懂视网 时间:2022-05-01 20:23

void Main(string[] args) { int count = 0; string readerPath=@"C:UsersAdministratorDesktop eaderDemo.csv"; string writerPath=@"C:UsersAdministratorDesktopwriteDemo.csv"; if (File.Exists(writerPath)) { File.Delete(writerPath); } using (StreamReader reader = new StreamReader(readerPath,Encoding.UTF8)) { while (!reader.EndOfStream) { string line = reader.ReadLine(); using (StreamWriter writer = new StreamWriter(writerPath, true,Encoding.Default)) { writer.WriteLine(line); } count++; Console.WriteLine("正在转码第{0}行,请稍等",count); } } Console.WriteLine("转码完成,共转码{0}条数据",count); Console.WriteLine("开始导入数据,请稍等"); string sql = "BULK INSERT Test.dbo.BagDataTable FROM ‘C:\Users\Administrator\Desktop\writeDemo.csv‘ WITH(FIELDTERMINATOR=‘,‘,BATCHSIZE=100000,FIRSTROW=2)"; try { DbHelper.ExecuteSql(sql); } catch(Exception ex) { using (StreamWriter writerLog = new StreamWriter(@"C:UsersAdministratorDesktopLog.txt")) { writerLog.WriteLine(ex.ToString()); } } Console.WriteLine("数据导入完毕"); Console.ReadKey(); } }


 

Bulk Insert命令详细:
http://blog.csdn.net/jackmacro/article/details/5959321/
FIELDTERMINATOR表示csv文件中的结束符标志(csv默认列结束标志是,行结束标志是
),具体使用参看:
http://www.cnblogs.com/sunice/p/6367332.html
 

大数据量.csv文件导入SQLServer数据库

标签:默认   dem   users   htm   oid   str   cep   art   demo   

热心网友 时间:2022-05-01 17:31

1、首先打开Navicat。

2、打开数据表所在的数据库,此时显示数据库所有表。

3、点击选中要导入数据的数据库表,右击鼠标,在弹出菜单中选中【导入向导】。

4、在【导入格式】选择csv文件(*..csv),然后点击【下一步】。

5、选择导入的csv文件,然后点击【下一步】。

6、选择分隔符,然后点击【下一步】。

7、设置附加选项,然后点击【下一步】。

8、选项目标表,然后点击【下一步】。

9、定义目标字段与源字段的对应关系,然后点击【下一步】。

10、选择一个导入模式,然后点击【下一步】。

11、点击【开始】,等待显示成功完成就可以了。

热心网友 时间:2022-05-01 18:49

1、首先输入服务器名称和密码打开sql数据库。

2、选择一个数据库用鼠标右键点击。

3、选择任务选项,再点击导入数据选项。

4、进入向导,点击下一步。

5、数据源下拉,选择平面文件源。

6、选择csv文件,进行合理的筛选,一般系统选择的就可以,点击下一步即可完成打开文件。

7、导入成功后即可看到csv文件内容。

热心网友 时间:2022-05-01 20:24

先在SQL Server中建立用于保存该信息的一张数据表, 
CREATE TABLE CSVTable( 
Name NVARCHAR(MAX), 
Email NVARCHAR(MAX), 
Area NVARCHAR(MAX) 

然后执行下面的语句:

BULK INSERT CSVTable
FROM 'D:\csv.txt'
WITH(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
SELECT * FROM CSVTable
按F5,执行结果如下:

热心网友 时间:2022-05-01 22:15

是不是缺少\n?
一般,csv文件用换行符'\n‘作为记录的分隔。一个回车换行就是一条记录,
你这种情况,感觉是有几条没有换行,所以全都作为最后一个域的值了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com