Zum Inhalt springen

SQL-Server Client Programm auf Offline Laptop installieren?


Empfohlene Beiträge

Geschrieben

Hallo Leute,

Ich habe ein Programm entwickelt für die Verwaltung meiner Videos.

Bis jetzt habe ich die Programme immer auf Clients installiert, die Netzwerkzugriff zum SQL-Server haben.

Jetzt möchte ich dieses Programm auch bei meinen Eltern auf dem Laptop installieren.

Muss ich hierfür den kompletten SQL-Server installieren oder gibt es vom SQL-Server eine kleine Datenbank Engine, der nur die Datenbanken speichert und mittels dem Client Programm verwaltet?

Könntet Ihr mir hier bitte weiterhelfen?

Ich bin über jeden Tip und jeden Ratschlag sehr dankbar!

Danke im Voraus!

LG

Geschrieben

Danke für deine Antwort!

Geht das auch mit dem SQL-Server 2008 Express.

Könntest du mir bitte eine kurze Erklärung geben, wie das mit der "sdf" Datei funktioniert?

Ist das der Service, wo im Windows XP, dann in der Taskleiste - im Infobereich das SQL-Server Symbol angezeigt wird?

Danke nochmals!

LG

Geschrieben

Der ConnectionString enthält aber dann die sdf-Datei als DataSource.

sdf-Dateien habe ich soweit noch nicht genutzt. Ich hatte es mal in einem Webcast gesehen und mal kurz ausprobiert :-)

Die Datei an sich wurde mit dem Visual Studio erstellt. Diese liegt dann ganz normal auf Deinem Filesystem rum.

Geschrieben

Danke für eure Hilfen

Ich würde meine Frage an euch gerne kongretisieren anhand von einem Beispiel in einer Firma

Ich habe als Entwickler in einer Firma XY eine Datenbank entwickelt und dazu in C#.NET das Datenbank-Client Programm geschrieben. Z.Bsp. Für deren Vertreter die mit Ihrem Laptop unterwegs sind und dort div. Daten erfassen, die NICHT in der Firma am SQL-Server synchronisiert werden!

Die Datenbank und das Programm ist nur für den Vertreter gemacht! (Bspw.: ein Programm für die Nächtigungen, die km die er gefahren ist, usw...; den Report druckt er dann aus und gibt diesen in der Personalabteilung ab! . . . . . . .Nur ein Beispiel)

Ich habe mich entschieden statt einer MS-Access Datenbank eine MS-SQL Datenbank mit Client Programm zu entwickeln, da meiner Meinung nach diese Kombination besser und effektiver ist als ein Access Programm (Ein Grund liegt auch darin, dass ich nicht VBA programmieren möchte).

--> Client Programm:Nun bekommt der Vertreter das Programm auf seinen Laptop installiert.

--> Die Datenbank: Er benötigt keine IDE zum Ändern der Datenbank, die Datenbank soll einfach nur laufen als Dienst.

--> FRAGE: Muss ich hierfür eine eigene MS SQL EXPRESS Instanz installieren oder gibt es hierfür noch etwas abgespeckteres, nur dass die Datenbank läuft? Dass ich die SQL Engine installieren muss, dachte ich mir, aber gibt es nicht noch etwas kleineres als den SQL-EXPRESS?

Ich währe euch dankbar, wenn Ihr mir weiterhelfen könntet, obwohl ich mich anfangs falsch ausgedrückt habe.

Ich habe bis jetzt immer nur Client Programme installiiert und geschrieben die mit dem SQL-Server verbunden waren.

DANKE IM VORAUS!

LG

Geschrieben
Es würde über eine lokale Datenbankdatei (*.sdf) funktionieren, dafür muss aber der SQL-Server 2005 Express installiert sein.

Das ist mal falsch. Du must kein sql server express auf den clients installieren. Das ist eine ganz normale sqlcompact datenbankfile (welche auch als Lokale Datenbank bezeichnet wird). Einfach dem Projekt hinzufügen, einen Verweise auf System.Data.SqlServerCE und schon kannst du damit arbeiten.

Auf den Clientrechner ist wie üblich nur das Framework notwendig um damit arbeiten zu können.

Lg

Gateway

Geschrieben

Hallo!

eine kleine Erweiterung zum .sdf File. Zur Ausführung wird im Ausführungsverzeichnis die System.Data.SqlServerCe.dll benötigt, oder eine Installation des eines SQL Server CE.

Sonst hagelt es Exceptions.

Bei der Erstellung eines Setupprojekts (hinzufügen der primären Ausgabe) wird dies automatisch erkannt und die DLL in das entsprechende Verzeichnis kopiert.

Aber ansonsten ist dies wirklich eine gute Lösung. Nicht jeder möchte einen SQL Server Express lokal installiert haben, obwohl dieser total unschädlich und auch unbelastend fürs System ist wenn man ihn richtig konfiguriert.

Gruß,

Thomas

Geschrieben (bearbeitet)
Danke für eure Hilfen

Ich habe mich entschieden statt einer MS-Access Datenbank eine MS-SQL Datenbank mit Client Programm zu entwickeln, da meiner Meinung nach diese Kombination besser und effektiver ist als ein Access Programm (Ein Grund liegt auch darin, dass ich nicht VBA programmieren möchte).

Du kannst auch mit C# auf eine Access DB zugreifen, VBA ist überhauptnicht notwendig (stichwort ODBC).

--> Client Programm:Nun bekommt der Vertreter das Programm auf seinen Laptop installiert.

--> Die Datenbank: Er benötigt keine IDE zum Ändern der Datenbank, die Datenbank soll einfach nur laufen als Dienst.

--> FRAGE: Muss ich hierfür eine eigene MS SQL EXPRESS Instanz installieren oder gibt es hierfür noch etwas abgespeckteres, nur dass die Datenbank läuft? Dass ich die SQL Engine installieren muss, dachte ich mir, aber gibt es nicht noch etwas kleineres als den SQL-EXPRESS?

Ich währe euch dankbar, wenn Ihr mir weiterhelfen könntet, obwohl ich mich anfangs falsch ausgedrückt habe.

Ich habe bis jetzt immer nur Client Programme installiiert und geschrieben die mit dem SQL-Server verbunden waren.

Okay dann werde ich dir mal die Gedanklichen Wegpunkte und die daraus resultierenden Aktionen erläutern:

Zu allererst macht man sich Gedanken über die Art der Datenanbindung.

Dazu gehört:

- sollen alle auf ein und dieselbe Datenquelle zugreifen oder soll jeder seperat seine eigene Datenquelle führen.

Resultat:

1.

Wenn jeder auf dieselbe Datenquelle zugreifen soll wirst du auf dem Rechner auf dem die Quelle liegen muss, einen SQL Server oder allternativ einen SQL Server Express installieren müssen.

Hinweis zur unterscheidung hinsichtlich SQL Server und SQL Server Express:

-Auf dem Express können maximal 255 gleichzeitige Connections stattfinden

-Der Express verwaltet nur bis 4 GB Datenvolumen

Das was du mit Dienst meinst, sind die Dienste eines SQL Servers / oder alternativ die eines SQL Server Express. Diese agieren unter anderem auch als Listener und Browser um auf ankommende Querrys bzw. Connections zu antworten oder diese zu bearbeiten/auszuführen.

2. Wenn jeder seine seperate eigene Datenquelle haben soll, kannst du beispielsweise eine Lokale Datenbank nehmen. Hierbei handelt es sich um ein File mit der Endung (*.sdf) . Um von deiner Clientapplication auf diese Lokale Datenbank zugreifen zu können, must du einen Verweis setzten auf System.Data.sqlserverCE .

Der Connectionstring sieht wie folgt aus : ("Data Source=Pfad des sdf file")

Die Compact Datenbank kannst du entweder bei IDE bearbeiten (über den Serverexplorer) oder wie sonst auch üblich einfach über die dafür existenten Querrybefehle wie: Create Table, etc.

Hinweis zur sqlserverCE Datenbank oder auch SQL Compact DB genannt:

- Es wird auf den Clientrechnern wie schon oben beschrieben einzig und allein das Framework benötigt.

- Auch hier gibt es einige Nachteile zu beachten. Die SQL Compact DB kann auch nur wie die SQL Server Express DB maximal 255 gleichzeitige Connection/Zugriffe bearbeiten. Ebenso kann diese nur maximal 4 GB an Daten verwalten.

Ich hoffe ich hab es dir etwas erklären können.

Lg

Gateway

PS: Sofern sich fehler eingeschlichen haben verbessert mich bitte. Ich hatte es gegen Ende dieses Eintrages etwas eilig ;)

Bearbeitet von Gateway_man
Geschrieben

@Gateway_man: Dann war meine Annahme falsch. Ich war der Meinung, dass ich das in diesem Zusammenhang gehört hatte. :-)

Zum Thema Vertreterprogramm.

Für dieses Szenario würde ich ein Dataset / DataTable nutzen.

Speichern kann ma ein Dataset als Xml, falls der Rechner ausgeschalten werden sollte.

Geschrieben

Ich hätte noch eine Frage zur ".sdf" Datei.

Kann ich vom SQL-Server 2008 Express eine solche Datenbank Datei erstellen?

Oder benötige ich hierfür den Compact SQL-Server?

Wenn ich das richtig verstanden habe, dann muss ich das Setup Projekt normal erstellen und im Programm statt auf den SQL-Server, einfach nur auf die ".sdf" Compact Datenbank verweisen.

Stimmt das so?

DANKE

LG

Geschrieben
Ich hätte noch eine Frage zur ".sdf" Datei.

Kann ich vom SQL-Server 2008 Express eine solche Datenbank Datei erstellen?

Oder benötige ich hierfür den Compact SQL-Server?

Wenn ich das richtig verstanden habe, dann muss ich das Setup Projekt normal erstellen und im Programm statt auf den SQL-Server, einfach nur auf die ".sdf" Compact Datenbank verweisen.

Stimmt das so?

DANKE

LG

Zum erstellen einer solchen Datei brauchst du keinen Server. Eine solche Datei erstellst du in Visual Studio, besser gesagt erstellt Visual Studio diese für dich. Zweiteres stimmt. Ich habe dir nochmal ein kurz und bündiges tut inform einer PDF erstellt und das dafür genutzte beispiel ebenfalls in die Zip gepackt.

Hoffe es hilft (ist schon spät ich bitte schreibfehler zu verzeihen).

LG

Gateway

Documents.zip

Geschrieben

@Gateway_man: DANKE, dass du dir die Mühe gemacht hast um mir das so genau zu erklären!

Jetzt kenne ich mich aus, wie das gemeint ist mit der ".sdf"-Datei.

Eine Frage hätte ich noch:

Kann ich eine Datenbank, die schon fertig ist genauso hinzufügen. Damit meine ich eine Datenbank, die ich auf dem SQL-Server Express entwickelt habe.

Dass ich aus dieser SQL-Server Datenbank eine lokale Datenbank mache und dann so hinzufüge, wie du mir das gezeigt hast.

DANKE NOCHMALS!!!

LG

Geschrieben

Sry wegen längerer Wartezeit ;).

Das geht meines wissen nicht, da die mdb files welche der MS SQL Server generiert, in der regel gelockt werden. Sprich du kannst nur über den MS SQL Serverdienst darauf zugreifen.

Google doch einfach mal nach mdf converter oder ähnliches, evtl hat ja jemand ne möglichkeit gefunden und ein tool geschrieben.

LG

Gateway

Geschrieben

@ lbm1305:

Was hat die ".sdf" Datei und die "*.mdf" Datei vom SQL-Server mit Access zu tun?

Die Daten kommen ja vom SQL-Server.

Ich habe immer von SQL-Server "*.mdf" - Dateien gesprochen.

LG

Geschrieben
@ lbm1305:

Was hat die ".sdf" Datei und die "*.mdf" Datei vom SQL-Server mit Access zu tun?

Die Daten kommen ja vom SQL-Server.

Ich habe immer von SQL-Server "*.mdf" - Dateien gesprochen.

LG

Du schon, aber Gateway_man nicht ;-)

Er hatte sich verschrieben. (Siehe einen Beitrag vor meinem Zitat).

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...