2009-12-03 5 views
0

Je veux créer et gérer une base de données avec des images et/ou des clips audio. Je sais que ce n'est pas la meilleure idée et je sais qu'il existe de meilleures options, mais c'est la façon la plus simple de séparer les données de la programmation et de ne pas écrire le code. J'ai donc besoin d'une application qui me permettra de modifier la base de données que l'application appelle, et l'application doit appeler un fichier audio ou image aléatoire. J'ai juste besoin de savoir d'un EDITEUR SQL.Existe-t-il une bonne application pour gérer une base de données SQLite 3 avec un type de données BLOB?

Répondre

0

Super mauvaise idée de mettre des fichiers volumineux dans une base de données, cela va tuer les performances et pourrait bien faire sauter les limites de mémoire d'une application. Vous ne pouvez pas non plus les diffuser hors de la base de données comme vous le pouvez depuis le système de fichiers. Au lieu de cela, considérez cette approche - comme Alex l'a suggéré, travaillez avec des fichiers séparés et des chaînes qui représentent les noms de fichiers. Vous pouvez placer la base de données et les fichiers dans un répertoire unique, que votre codeur conserve comme référence de dossier dans XCode. Ainsi, tout le contenu du dossier que vous modifiez est automatiquement ajouté au projet de codage. Notez que si vous changez un fichier existant, en raison d'un bogue dans XCode, il sera nécessaire de faire un BUF propre avant de construire à nouveau ou il ne copiera pas les assets modifiés (principalement un problème pour la DB).

Ensuite, vous pouvez facilement utiliser n'importe quel client SQLLite pour gérer la base de données de noms de fichiers et d'autres données. "Base" est une belle application autonome.

Je vous recommande fortement d'utiliser un système de contrôle de source comme Git afin que vous puissiez vérifier les modifications et que le programmeur puisse mettre son projet à jour sans la confusion des fichiers envoyés par courrier électronique.

0

Vous pouvez utiliser Core Data à la place. Il utilise un backend SQLite, par défaut. Au lieu d'utiliser des BLOB, vous pouvez simplement stocker un NSString* qui est un chemin d'accès à l'objet dans le dossier Documents de l'application. Lorsque vous souhaitez récupérer une image stockée ou un autre objet de données binaire volumineux, vous pouvez charger une instance NSData* directement à partir de la valeur du chemin. Garder de gros fichiers en dehors de la base de données vous donnera de bien meilleures performances.

Questions connexes