2010-04-30 2 views
0

J'utilise un fichier de base de données sqlite3 dans mon projet d'application iPhone pour lire à l'exécution. Tout d'abord, à des fins de développement, j'ai créé le fichier sur mon bureau avec Navicat pour SQLite.iPhone sqlite3 - sqlite3_prepare_v2 renvoie le code d'erreur 26

La lecture de ce fichier en utilisant ce code fonctionne:

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); 

Utilisation d'un fichier, créé par une société partenaire en utilisant PHP, il ne fonctionne pas. Le gars a dit, qu'il l'a juste créé en utilisant PhP. Malheureusement, c'est tout ce que je sais à son sujet, mais je vais essayer d'en savoir plus à ce sujet pour que vous puissiez me diriger dans la bonne direction.

Avec le fichier de la société que je reçois le code d'erreur 26 « fichier est crypté ou non une base de données »

Quelle peut être la raison de ce comportement. Le fichier est-il chiffré? La compagnie partenaire m'a dit qu'ils n'utilisaient aucune compression à leur connaissance. Ou pourrait-il arriver quelque chose au fichier d'autres façons? Pourrait-il être créé avec une mauvaise version de sqlite ?? Ils utilisent PHP5 autant que je sache.

Peut-être que quelqu'un peut m'aider ici :) Je sais que ce n'est pas beaucoup d'informations et je vais essayer de livrer plus.

Répondre

0

Le problème était que l'équipe partenaire a créé un fichier sqlite 2.x au lieu d'un fichier version 3. Cela a provoqué la fonction sqlite3_prepare_v2 pour renvoyer le code d'erreur 26.

+0

Comment résoudre votre problème? Pourriez-vous s'il vous plaît expliquer plus .. Je reçois aussi le même problème. – Finder

+0

Girija, je leur ai dit de créer une base de données sqlite3 au lieu d'un sqlite2 et à partir de ce moment-là, ça a marché. J'espère que cela t'aides. Je n'ai pas essayé d'autre méthode car cela a résolu mon problème. – Nonlinearsound

Questions connexes