2011-02-24 4 views
0

SQLite 데이터베이스가 있습니다. 코어 데이터가있는 데이터 구조에 DB를 넣어야합니까? 어떻게해야합니까? 내 문제는 테이블 간의 "z 관계"입니다.Sqlite3를 사용하여 iPhone/iPad 용 코어 데이터 구조 채우기

가능합니까?

+0

가능한 경우 sqlite 데이터베이스를 JSON 파일로 변환하여 코어 데이터로 가져 오는 것이 좋습니다. 그것을 훨씬 쉽게 만들고 결과로 더 성공적 일 것입니다. – binnyb

+0

하지만 관계를 재 해석하고 있습니까? – Luca

답변

0

해결책을 찾았습니다. 앞으로 SQLite를 직접 사용해야하지만, 비슷한 문제가있는 사람들은이 솔루션을 사용하는 것이 좋습니다.

1 단계 : 테이블의 핵심 데이터는 원본 테이블의 열 머리글 gl'ID 임시 관계를 추가합니다.

2 단계 : CSV의 데이터에서 두 개의 열을 추가합니다. 첫 번째 열은 값 1을 포함하고 Core Data의 P_OPT를 참조하고 두 번째 열은 테이블의 식별자를 포함하고 테이블 Z_PRIMARYKEY의 SQLite Core 데이터를 읽음으로써 생성 된 P_ENT를 검색합니다.

3 단계 : Core Data로 생성 된 SQLite 파일에서 Mac 데이터를 전송하십시오. 임시 열에 gl'ID (관계)를 첨부하십시오.

4 단계 : SQL UPDATE 명령 (Mac의 모든 SQL 편집기에서 작동)을 사용하면 Core Data에있는 관계의 모든 ID 열을 Z_PK로 업데이트합니다. 쿼리에서 검색 한 값과 임시 열을 사용합니다.

죄송합니다. 나는 설명으로 뒤얽히고 다른 사람들에게 유용하지 않기를 바랍니다.

2

코어 데이터는 SQLite 저장소를 사용하는 경우에도 SQL이 아닙니다. 이론적으로 표준 SQLite 파일을 Core Data가 사용하는 스키마로 변환 할 수는 있지만, Apple이 스키마를 문서화하지 않아서 경고없이 변경할 수 있기 때문에 어렵고 위험합니다. SQL 데이터를 핵심 데이터 개체로 변환해야합니다.

가장 좋은 방법은 핵심 데이터 모델이 포함 된 유틸리티 앱을 작성하는 것입니다. 표준 함수로 SQL 데이터를 읽은 다음 해당 데이터 및 관계를 사용하여 핵심 데이터에서 적절한 관리 객체 및 객체 관계를 만듭니다.

일반적으로 관리 대상을 만들고 속성을 채우고 관계를 설정하는 코드가 있습니다. 해당 코드를 사용하기 만하면 UI 또는 피드에서 데이터를 제공하는 대신 SQL에서 제공하는 데이터에서 제공하십시오.

+0

답장을 보내 주셔서 감사합니다. – Luca

관련 문제