Question

Je dois créer une application de base de données simple, à utilisateur unique pour Windows. Les principales exigences sont l'indépendance de la version Windows et du logiciel installé. Quelles technologies (langage / framework) recommanderiez-vous? Ma préférence pour la langue est le Visual Basic.

EDIT: Qu'en est-il de VB.Net et de SQL Server Compact Edition?

Était-ce utile?

La solution

Je recommanderais SQLite . Il est complètement autonome et domaine public , de sorte qu'il n'y a aucun problème de licence.

Autres conseils

Utilisateur unique ou multi-utilisateur?

Pour un utilisateur unique, la réponse serait SQLite

Pour les utilisateurs multiples (ou multithreads), essayez MySQL ou PostgreSQL .

Etant donné que votre exigence est une application Windows, je vous suggère d’utiliser SQL Server 2005 Express Edition, un outil gratuit, mais avec certaines petites limitations. vous pouvez passer à une version plus grande lorsque vous utilisez une version payante.

Il existe d'autres moteurs de base de données tels que SQL Lite ou FireBird, choisissez-les si les options de support et de croissance qu'ils fournissent vous conviennent

De plus, Visual Basic a la vie dure. VB.NET pourrait être une meilleure plate-forme Windows. Cela donnerait une meilleure plate-forme / fonctionnalités pour commencer et lorsque vous souhaitez étendre le talent que vous avez sur le projet, je suppose que le talent .NET est peut-être plus disponible que les programmeurs qui souhaitent travailler avec une langue morte.

duplicata de quoi existe-t-il des options pour créer rapidement une base de données intégrée dans .NET?

Je répète ma réponse à partir de là:

"Ou theres Esent, la base de données intégrée qui existe dans chaque copie de Windows. Lisez à ce sujet ici: http : //ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx " et http://www.codeplex.com/ManagedEsent

SQLite fonctionnera pour une application de bureau locale. Si vous voulez plusieurs utilisateurs, quelques gigas de données et plusieurs connexions, j'utiliserais mysql ou Firebird.

http://www.mysql.com/ http://www.firebirdsql.org/

Le

serveur FireBird SQL sera préférable. Il peut être utilisé à la fois en mode intégré et multi-utilisateur, comme les bases de données traditionnelles. Il implémente de nombreux standards SQL et s'appuie sur une base communautaire solide. Il est disponible pour Windows, Linux, Solaris, OS X et HP-UX

Comme mentionné, SQLite est une excellente base de données mono-utilisateur. Cette page contient des exemples VB / SQLite . Une des préoccupations est que SQLite analyse les contraintes de clé étrangère, mais ne les applique pas. Vous pouvez utiliser ce code pour générer des déclencheurs de clé étrangère " pour SQLite, obtenant ainsi une base de données facile à utiliser avec des contraintes FK.

En fonction des besoins de votre base de données, vous pouvez envisager d'utiliser MS Access.

J'ai utilisé SQL Server Compact Edition. C'est comme sqllite. Un seul fichier SDF accessible à l'aide de ADO.NET. Vous pouvez développer votre application avec Visual Basic .NET et gérer votre base de données (ajouter des tables, des colonnes, des contraintes, etc.) à l'aide de Visual Studio.

SQLite est peut-être ce que vous recherchez. http://www.sqlite.org/

En fonction de vos besoins pour l'application.

Vous pouvez utiliser la SQLLite , une très belle base de données ne nécessitant aucune installation.

Vous pouvez également utiliser Microsoft SQL Server: SQL Server Compact 3.5 .

Les deux sont gratuits!

Votre message n’indique pas clairement si vous souhaitez une application Web ou non.

Pour une application Web, MySQL fonctionne efficacement sur la plate-forme Windows. Vous disposez également d'options illimitées pour l'environnement de développement, notamment PHP, Ruby on Rails, Django et .Net.

Si vous examinez une application de bureau, MS Access pourrait convenir ... incroyablement facile pour des applications simples.

Eh bien, en supposant que vous n’ayez aucune expérience préalable ...

Vous avez besoin d'une sorte de stockage de persistance (par exemple, une base de données) et d'un client. Pour le stockage, vous pouvez utiliser presque n'importe quoi. Par exemple, vous pouvez créer votre base de données dans MS Access et l’envoyer simplement sous forme de fichier, en utilisant ADO pour y accéder. Les autres options sont l'édition MS SQL Express (préinstallée sur certaines machines ou peut être installée gratuitement) et de nombreuses bases de données open source telles que SQLite

Du côté client, vous ne pouvez pas vous tromper avec VBScript et ADO (avec des pilotes OLE DB). Ils viennent avec chaque installation Windows depuis Dark Ages, vous aurez beaucoup de références / tutoriels / réponses en ligne. Un inconvénient: pas d’interface utilisateur à proprement parler, vous devrez donc construire une interface en ligne de commande (destinée à une application "simple").

Si vous souhaitez créer une interface utilisateur, je vous suggère d’utiliser .NET WinForms. Les frais généraux seront considérablement plus importants, mais .NET est désormais installé sur toutes les machines XP / Vista. Même si ce n’est pas le cas, vous pouvez toujours installer le framework avec votre application.

Si vous souhaitez créer une application pouvant facilement passer à un autre ordinateur, je préfère Microsoft Access. Cette base de données de petite taille est facile à utiliser et ne nécessite pas d'installation. Elle est conçue pour des applications telles que Addressbook, mini crud system.

Toutefois, si vous souhaitez développer un système de base de données d'entreprise, vous devez utiliser plutôt MySQL .

Je ne comprends pas ce que vous voulez dire par "logiciel installé sous forme d'indépendance". Vous devez au moins installer le SGBD, ainsi qu’un client ou une interface utilisateur.

Je recommande d'utiliser MS Access. Il est facile et peu coûteux d’effectuer des tâches simples pour un seul utilisateur et le développement rapide de prototypes. Seule la version de développement doit être achetée (Accès "normal") pour créer des bases de données. La version d'exécution d'Access 2007 peut être téléchargée gratuitement à partir de la page d'accueil de Microsoft - pour utiliser uniquement la base de données que vous avez créée.

En outre, il combine le SGBD et l'interface graphique dans le même outil.

Puis-je mentionner MS Access ...?

Si vous recherchez un faible encombrement (jusqu'à quelques Mo) et un déploiement facile (l'utilisateur final ne doit installer votre application que pour la faire fonctionner), vous avez le choix entre SQLite et Firebird embedded.

Parmi ces deux-là, je choisirais Firebird à tout moment, en raison de la prise en charge complète de SQL (vous ne pouvez pas, par exemple, supprimer une colonne dans SQLite), de la conformité ACID et de la possibilité d'utiliser un client / serveur sans passer par aucune autre. change le code (changez simplement la chaîne de connexion incorporée au serveur) en code si vous décidez de laisser plusieurs utilisateurs travailler sur la même base de données.

Sans oublier que vous pouvez utiliser un serveur complet pour développer (ce qui signifie que votre application et votre outil d'administration de base de données peuvent être connectés à la base de données en même temps).

J'utilise avec succès Turbo Delphi (gratuit pour un usage commercial ou non commercial) + ZeosLib (zeos.firmos.at).

Les seules choses que vous devez distribuer avec votre fichier .exe sont les dll du client de base de données (inutile d'installer le client, il suffit de placer les dll dans le même répertoire).

Kexi pourrait-il fonctionner?

Je peux recommander mon expérience personnelle " Ma base de données visuelle " libre, pas de code, pas de SQL, il suffit de glisser-déposer.

http://myvisualdatabase.com/

La meilleure option serait de créer une application native Win32 avec Delphi . et utilisez SQLLite comme base de données.

Raison d'être Delphi peut produire des applications Win32 natives sans qu'aucun autre produit ne soit installé sur la machine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top