0

我正在尝试将 CSV 导入 SQL。CSV 是非常大的 4g,所以我相信这确实是查询数据的唯一选择。

我已经创建了一个新数据库,现在尝试创建将保存信息的表。

我已经运行了以下内容:

CREATE TABLE Provider_NPI
(NPI INT,
Entity Type Code INT,
Replacement NPI INT,
Employer Identification Number (EIN) INT,

在 INT 之后,它继续处理 300 多个标题,但在三个不同的标题上出现错误,并出现“MSG 4145,15 级,状态 1,X 行”错误。我已经把它们列出来了

Error:
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'Code'.

对于这一行: Replacement NPI INT,

这上面的行是Entity Type Code INT,

Error:
Msg 4145, Level 15, State 1, Line 29
An expression of non-boolean type specified in a context where a condition is expected, near 'U'.

对于这一行: Provider Business Mailing Address Telephone Number VARCHAR(75),

Error:
Provider Business Practice Location Address Telephone Number VARCHAR(75),

对于这一行: Provider Business Practice Location Address Telephone Number VARCHAR(75),

谁能帮我确定什么是错的?我相信这可能与某些标题名称有关?

4

2 回答 2

4

列名中可以包含空格(和括号),但前提是您将它​​们放在括号中。

CREATE TABLE Provider_NPI
(NPI INT,
[Entity Type Code] INT,
[Replacement NPI] INT,
[Employer Identification Number (EIN)] INT)
于 2013-02-14T21:24:14.623 回答
0

Bernie 帮助解决了这个问题,但我在 CSV 文件中遇到了其他问题,并且一直在休假,所以我现在回来努力解决。

我已经成功创建了数据库和表,其中的所有列标题都设置了正确的数据类型和长度。即 varchar(50) 或 INT.. 我现在遇到的问题是从 CSV 文件导入数据。它给了我 msg 4868 错误,我已经指出我正在尝试使用的批量插入问题以及所有数据周围的双引号。

正如我所说,有 300 多个列标题和 100,000 多个行。所有数据、数字、字符串和日期都用双引号“”括起来。看起来需要一个格式文件,我正在创建但遇到了http://support.microsoft.com/default.aspx?scid=kb;EN-US;132463上的说明的问题

数据看起来像 "1231231","name 1","address","zip","555-555-5555","","","2nd address","fax","",""

数据继续,一些字段的数据被包围,而另一些则为空,只有引号。该文章指出使用虚拟行来删除引号,我可以这样做,但似乎在创建格式文件后需要对格式文件进行大量手动编辑。

有没有办法创建格式文件,允许我在导入数据时使用它来删除双引号?我很茫然,真的很想解决这个问题。

于 2013-02-23T03:13:17.590 回答