Я использую файл базы данных sqlite3 в своем проекте iPhone App для чтения во время выполнения. Во-первых, для целей разработки я создал файл на своем рабочем столе с помощью Navicat для SQLite.
Чтение этого файла с использованием этого кода работает:
NSString *strTest = [NSString stringWithString:@"select tbl_name from sqlite_master"];
const char *sql_test = [strTest UTF8String];
sqlite3_stmt *statement_test;
returnval = sqlite3_prepare_v2(database, sql_test, -1, &statement_test, NULL);
NSString *strerr = [NSString stringWithCString:sqlite3_errmsg(database)];
NSLog(@"\n\nTabellen in DB [%@] (Error:%d Description:%@)\n",path,returnval,strerr);
while (sqlite3_step(statement_test) == SQLITE_ROW) {
NSString *table = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement_test, 0)];
NSLog(@"%@\n",table);
}
sqlite3_finalize(statement_test);
Использование файла, созданного компанией-партнером с использованием PHP, не работает. Парень сказал, что он просто создал его с помощью PhP. К сожалению, это все, что я знаю на данный момент, но я постараюсь узнать об этом больше, чтобы вы, ребята, могли указать мне правильное направление.
С файлом от компании я получаю код ошибки 26 "файл зашифрован или не является базой данных"
В чем может быть причина такого поведения. Файл зашифрован? Компания-партнер сказала мне, что они не использовали сжатие из-за своих знаний. Или что-то может случиться с файлом другими способами? Может быть, он создан с неправильной версией sqlite? Они используют PHP5 настолько быстро, насколько я знаю.
Может быть, кто-то может помочь мне здесь :) Я знаю, что это не так много информации, и я постараюсь доставить больше.