Base de données intégrée pour .net qui peut fonctionner hors réseau

voix
30

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

Maintenant, ma première idée était de SQL Server Compact Edition . C'est vraiment bien integreated, mais il ne peut pas s'enfuir un réseau.

Firebird semble avoir le même problème, mais l'intégration .net semble être pas vraiment de première classe et est en grande partie non documentée.

Blackfish SQL semble intéressant, mais il n'y a pas de procès de la version .net. Le prix est également OK.

Toute autre suggestion de quelque chose qui fonctionne bien avec .net et ruisselle un réseau sans qu'il soit nécessaire d'installer un logiciel réellement serveur?

Créé 03/08/2008 à 15:41
source utilisateur
Dans d'autres langues...                            


10 réponses

voix
21

SQLite est venu à l' esprit en lisant votre question, et je suis tout à fait sûr qu'il est possible d'y accéder à partir d' un lecteur réseau si vous tenez - vous à la contrainte de 1 utilisateur à la fois.

SQLite sur .NET - Levez-vous et en cours d'exécution en 3 minutes

Créé 03/08/2008 à 15:48
source utilisateur

voix
10

Je vous recommande Advantage Database Server (www.advantagedatabase.com). Il est un DB embarqué mature avec un grand soutien et accessible depuis de nombreuses langues de développement, en plus de .NET. La version « locale » est libre, fonctionne 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 principales fonctions DB. Vous pouvez stocker la base de données et / ou fichiers d'application tous sur le réseau; il ne se soucie pas où les données.

Disclaimer: Je suis ingénieur dans le groupe ADS R & D. Je promets, ça dépote :)

Créé 21/10/2008 à 20:20
source utilisateur

voix
8

Vous pouvez utiliser le firebird embeded, il est juste une dll que vous devrez expédier avec vous app.

A propos de choses sans papier, ce n'est pas vraiment vrai, le pilote .NET firebird implémente les interfaces ADO, donc si vous connaissez ADO vous pouvez travailler avec Firebird, essentiellement 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 utiliser des interfaces uniquement 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 aurez pas besoin de beaucoup plus que cela.

Nous utilisons pour notre firebird toutes les applications sans aucun problème, vous devriez au moins essayer.

Créé 09/08/2008 à 13:51
source utilisateur

voix
8

Cela ressemble à ADO / Access est parfait pour vos besoins. Il est cuit dans la pile MS, bien assaisonné et multi-utilisateurs.

Vous pouvez créer un DB programatically 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 de ADO.NET standard pour interagir avec la base de données.

Créé 03/08/2008 à 16:48
source utilisateur

voix
7

Un peu plus tard au poste ici .. Et VistaDB est déjà mentionné, mais je voulais souligner que VistaDB est géré à 100% (depuis votre poste a été marqué .net). Il peut fonctionner à partir d' un lecteur réseau partagé, et est 1Mo xcopy déployé.

Puisque vous parlez de SQL CE, nous soutenons également TSQL Syntaxe et types de données (en fait plus de SQL CE) et ont des vues actualisables, TSQL procs et d'autres choses manquantes dans SQL CE.

Créé 22/04/2009 à 22:01
source utilisateur

voix
6

Consultez VistaDB . Ils ont un très bon produit, la version du serveur (3.4) est en version bêta et est très proche de la libération.

Créé 03/08/2008 à 15:57
source utilisateur

voix
4

Je suis perplexe.

Vous demandez une base de données embeded - où la base de données elle-même est stockée sur le serveur. qui se traduit pour stocker le fichier de données sur un partage réseau. Vous dites ensuite que SQL Compact Edition ne fonctionne pas ... sauf que si l'on regarde ce document:

Word Document: Le
choix entre SQL Server 2005 Compact Edition et SQL Server 2005 Express Edition

A la page 8 vous avez une belle grosse coche verte à côté de « stockage de fichiers de données sur un partage réseau ».

Donc, il me semble que votre première pensée était la bonne.

Créé 22/04/2009 à 22:18
source utilisateur

voix
4

Pourquoi ne pas utiliser SQL Server 2005 Express Edition ?

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

Intégration SQL Server Express dans les applications

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

Créé 03/08/2008 à 16:34
source utilisateur

voix
2

Avez - vous envisagé un OODB? Des diverses sources ouvertes alternatives que je recommande db4o (désolé pour l'auto - promotion :)) qui peut fonctionner soit intégré ou en mode client / serveur.

Meilleur

Adriano

Créé 16/05/2010 à 16:18
source utilisateur

voix
2

Il y a aussi Valentina . Je cam e sur ce produit quand je travaillais sur un certain projet réel de base. La version RB est très bon.

Créé 10/08/2008 à 03:55
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more