Base de données intégrée pour .net pouvant fonctionner sur un réseau

Translate

J'étais (et je suis toujours) à la recherche d'une base de données embarquée à utiliser dans une application .net (c #). La mise en garde: l'application (ou au moins la base de données) est stockée sur un lecteur réseau, mais n'est utilisée que par 1 utilisateur à la fois.

Maintenant, ma première idée étaitÉdition compacte de SQL Server. C'est vraiment bien intégré, mais cela ne peut pas fonctionner sur un réseau.

Oiseau de feusemble avoir le même problème, mais l'intégration .net ne semble pas vraiment de première classe et est largement non documentée.

Blackfish SQLsemble intéressant, mais il n'y a pas d'essai de la version .net. Le prix est également correct.

Toute autre suggestion de quelque chose qui fonctionne bien avec .netetfonctionne sur un réseau sans avoir besoin d'installer réellement un logiciel serveur?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

SQLitem'est venu à l'esprit en lisant votre question, et je suis sûr qu'il est possible d'y accéder à partir d'un lecteur réseauifvous vous tenez à la contrainte d'un utilisateur à la fois.

SQLite sur .NET - Soyez opérationnel en 3 minutes

La source
Translate

Je recommanderais Advantage Database Server (www.advantagedatabase.com). C'est une base de données intégrée mature avec un excellent support et accessible à partir de nombreux langages de développement en plus de .NET. La version "locale" est gratuite, s'exécute dans votre application sous la forme d'une DLL, ne nécessite aucune installation sur le partage serveur / réseau et prend en charge toutes les fonctionnalités principales de la base de données. Vous pouvez stocker la base de données et / ou les fichiers d'application tous sur le réseau; peu importe où se trouvent les données.

Clause de non-responsabilité: Je suis ingénieur dans le groupe R&D ADS. Je promets, ça bascule :)

La source
Translate

On dirait qu'ADO / Access est parfait pour vos besoins. Il est cuit dans la pile MS, bien assaisonné et multi-utilisateur.

Vous pouvez créer un DB par programme comme ceci:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

Vous pouvez ensuite utiliser des méthodes ADO.NET standard pour interagir avec la base de données.

La source
Translate

Vous pouvez utiliser le Firebird intégré, c'est juste une DLL que vous devrez expédier avec votre application.

À propos des choses non documentées, ce n'est pas vraiment vrai, le pilote firebird .NET implémente les interfaces ADO, donc si vous connaissez ADO vous pouvez travailler avec Firebird, en gros au lieu de SQLConnection vous utiliserez FBConnection et ainsi de suite, mais mon conseil est d'écrire un couche d'accès aux données et utilisez uniquement des interfaces sur votre code, quelque chose comme ceci:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

Cet exemple est très simple, mais vous n'aurez pas besoin de beaucoup plus que cela.

Nous utilisons Firebird pour toutes nos applications sans aucun problème, vous devriez au moins l'essayer.

La source
Translate

Check-outVistaDB. Ils ont un très bon produit, la version serveur (3.4) est en Beta et est très proche de la sortie.

La source
Translate

Un peu en retard au poste ici .. EtVistaDBest déjà mentionné, mais je voulais souligner que VistaDB est géré à 100% (puisque votre message a été tagué .net). Il peut s'exécuter à partir d'un lecteur réseau partagé et est déployé xcopy de 1 Mo.

Puisque vous mentionnez SQL CE, nous prenons également en charge la syntaxe et les types de données T-SQL (en fait plus que SQL CE) et avons des vues pouvant être mises à jour, des processus TSQL et d'autres éléments manquants dans SQL CE.

La source
Nathaniel Lee
Translate

Pourquoi ne pas utiliserÉdition SQL Server 2005 Express?

Cela dépend vraiment de ce que vous entendez par «intégré» - mais vous pouvez redistribuer SQLServer2005E avec vos applications et l'utilisateur n'a jamais à savoir qu'il est là.

Incorporer SQL Server Express dans les applications

Intégration de SQL Server Express dans des applications personnalisées

La source
Translate

Je suis perplexe.

Vous demandez une base de données intégrée - où la base de données elle-même est stockée sur le serveur. cela se traduit par le stockage du fichier de données sur un partage réseau. Vous dites alors que SQL Compact Edition ne fonctionnera pas ... sauf que si l'on regarde ce document:

Document Word:
Choix entre SQL Server 2005 Compact Edition et SQL Server 2005 Express Edition

À la page 8, vous avez une belle coche verte à côté de "Stockage de fichiers de données sur un partage réseau".

Il me semble donc que votre première pensée était la bonne.

La source
Translate

Il y a aussiValentina. J'ai découvert ce produit lorsque je travaillais sur un projet Real Basic. La version RB est très bonne.

La source
Translate

Avez-vous envisagé un OODB? À partir des différentes alternatives open sources que je recommandedb4o(désolé pour l'auto-promotion :)) qui peut fonctionner en mode intégré ou en mode client / serveur.

Meilleur

Adriano

La source