2012-06-05 5 views
2

내 응용 프로그램에서 데이터를 CSV 파일에서 sqlite 데이터베이스로 가져와야합니다. 사용하기 :IOS에서 .csv 파일에서 sqlite 데이터베이스로 데이터 가져 오기. FMDB

이 어떻게 테이블에 CSV 파일에서 데이터를 가져, 제발 도와 쉽기 때문에 SQLite는 작업에 대한

나는, FMDB 라이브러리를 사용할 수 있습니까?

나는 csv 파일의 테이블에 해당하는 테이블을 만들었으므로 가져 오기가 쉬워야합니다.

나는 인터넷의 주위에 솔루션을 바라 보았다, 그리고 SQLite는 같은

".mode csv" 
".separator ';'" 
".import mycsvfile.csv mytablename" 

에 대한 터미널 명령을 발견하지만 FMDB에서이 SQL 문을 실행하려고 할 때, 그것은 ..

내 소스 코드를 실패 :

[db beginTransaction]; 
    NSString *query1 = @".mode csv"; 
    NSString *query2 = @".separator ';'"; 
    NSString *query3 = @".import mycsvfile.csv mytablename"; 

    BOOL result = [db executeUpdate:query]; 
    result = [db executeQuery:query2]; 
    result = [db executeQuery:query3]; 

    [db commit]; 

여기서 BOOL 결과를 단계별로 실행 한 후 = [db executeUpdate : query]; 결과는 오류임을 나타내는 FALSE와 같습니다.

FMDB에서 로깅을 켜면 내 쿼리에서 "잘못된 구문"이라고 표시됩니다.

하지만이 문은 OS X의 sqlite에서 작동합니까?

참고 : OS X 터미널의 sqlite3에서이 명령을 실행하려고하면 모든 것이 올바르게 작동합니다.

+0

.csv 파일 구조를 표시 할 수 있습니까? –

+0

안녕하세요! CSV 파일을 한 줄씩 수동으로 읽고이 데이터로 sqlite insert 문을 실행하여이 문제를 해결했습니다. –

+0

someoune이 여전히 솔루션에 관심이있는 경우 CSV를 SQLite (https : // github)로 가져 오기위한 오픈 소스 라이브러리가 있습니다. co.kr/dodikk/CsvToSqlite –

답변

3

사용중인 .import 명령은 SQLite 자체가 아니며 SQLite CLI (명령 줄 인터페이스) 셸의 일부입니다. 이 도구의 문서 도구는 here입니다. CLI 도구의 소스 코드는 sqlite.org의 SQLite 배포본의 일부로 다운로드 할 수 있습니다 (파일은 shell.c입니다).

iOS 응용 프로그램의 CSV 데이터를 SQLite로 가져 오려면 SQLite 데이터베이스의 테이블에 데이터를 삽입 할 수있을뿐만 아니라 직접 CSV 파일을 수동으로 구문 분석해야합니다.

+0

감사드립니다. :) –

관련 문제