【问题标题】:Splitting a string and insert into a database拆分字符串并插入数据库
【发布时间】:2012-01-10 03:35:16
【问题描述】:

我已经设置了一个 SqlServer Express 并创建了我需要的表。然而,这是我遇到问题的地方。

我有这个包含很多不同信息的文本文件,下面是示例:

Line1: 00001, Some name, Address, Email
Line2: 00002.. 

我如何分割行,这些行在相关信息之间用逗号分隔,并将信息移动到我数据库中的正确列中?

ID      | Name        | Address      | Email    |   <-- Columns

000001  | Some name   | Some street  | @mail    |   <-- Data inserted

000002 etc.

希望您能理解我的问题,我已尽力将其形象化。

提前致谢。

【问题讨论】:

  • 这是一次性插入(通过 SQL 手动导入)还是将要接收的一组持续文件(编程解决方案)
  • 您使用的是 SQL 2008 吗?如果您可以提供更好的解决方案,我们可以将您的 CSV 转换为 C# 中的虚拟表,并将其作为可以插入的表传递给存储过程。如果您只这样做一次,尽管建议使用诸如 @Atnhonyvscode 之类的批量插入更好。

标签: c# sql wpf sql-server-2008 ado.net


【解决方案1】:

http://midnightprogrammer.net/post/Import-CSV-File-Into-SQL-Server-Using-Bulk-Insert.aspx

BULK INSERT Contact
FROM 'c:\TestData.csv'  -- Full path of the Delimited file
WITH
(
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n'   --Use to shift the control to next row
)

或者,如果您只是在一次导入后在管理工作室中右键单击您的数据库 -> 任务 -> 导入数据,选择平面文件源并按照向导进行操作

【讨论】:

  • 我忘了指明是.txt文件
  • 没关系 - 它只是 SQL Server 的分隔文件,只需将其指向 .txt 文件即可
猜你喜欢
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
相关资源
最近更新 更多