2016-06-29 14 views
0

私はcsvデータをmySQL(Windows 7のmicrosoft slq server 2014)にインポートしようとしています。私は、次のコードMySQLのLOAD DATA INFILEエラー

USE [DataAnalytics] 
GO 

SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

DROP TABLE [dbo].[npi_yy] 

CREATE TABLE [dbo].[npi_yy](

[NPI] [NUMERIC] (10) NULL, 
[Entity Type Code] [NUMERIC] (1) NULL, 
[Replacement NPI] [NUMERIC] (10) NULL, 
[Employer Identification Number (EIN)] [VARCHAR] (9) NULL, 
[Provider Organization Name (Legal Business Name)] [VARCHAR] (70) NULL 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING ON 
GO 

LOAD DATA INFILE 

    'c:\data\npidata_20050523-20160612_sample2.csv' 

INTO TABLE [dbo].[npi_yy] 

    FIELDS TERMINATED BY ',' ENCLOSED BY '"' 

    LINES TERMINATED BY '\r\n' 

    IGNORE 1 LINES; 

を使用して、エラーました:

Msg 102, Level 15, State 1, Line 354 
Incorrect syntax near 'INFILE'. 

私はCREATE TABLEは、空のテーブルを見て、働いていたことを確認します。誰が間違っていたかを知る

"NPI","Entity Type Code","Replacement NPI","Employer Identification Number (EIN)","Provider Organization Name (Legal Business Name)" 
"1588667638","1","","","" 
"1497758544","2","","<UNAVAIL>","CUMBERLAND COUNTY HOSPITAL SYSTEM 
"1306849450","1","","","" 
"1215930367","1","","","" 
"1023011178","2","","<UNAVAIL>","NAPA VALLEY HOSPICE & ADULT DAY SERVICES" 

: とc:\data\npidata_20050523-20160612_sample2.csvをチェックするには、中にファイル名を置くことによって、それを開いて、CSVの

頭を探る存在しますか?どのような助けにも感謝します。

+0

誰かが5GBファイルをダウンロードしようとしていると本当に思いますか?小さなサンプルを含めるか、リンクを削除してください。 –

+1

ファイルが存在し、スクリプトから到達可能であることは確かですか?おそらく 'LOAD DATA LOCAL INFILE'を使うべきでしょうか?ありがとう@ TimBiegeleisen。 –

+0

LOCALを追加し、 'LOCAL 'の近くで'誤った構文を報告します.' .... .... –

答えて

2

LOAD DATAステートメントを除いて、投稿したコードはMicrosoft SQL Serverです。 LOAD DATAMySQLに固有のステートメントです。それらは無関係の2つのデータベースソフトウェアであり、構文規則が異なり、SQL標準をさまざまな方法で拡張しました。彼らは混在することはできません。

LOAD DATAステートメントは、MySQLが提供する標準の拡張です。 Microsoft SQL Serverは、この目的のためにBULK INSERTステートメントを提供します。

あなたのコードのようなものでなければなりません:

BULK INSERT [dbo].[npi_yy] 
FROM 'c:\data\npidata_20050523-20160612_sample2.csv' 
WITH (
    FIELDTERMINATOR = ',', 
    FIRSTROW = 2, 
    ROWTERMINATOR = '\r\n' 
) 
GO 

BULK INSERT文の詳細についてはこちらをご覧ください。

関連する問題