Autor Beitrag
pad94
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 06.02.18 10:48 
Hallo Leute,

folgendes Problem:

Betriebssystem Win7 32 Bit(leider kein Upgrade möglich...)
Sql Umgebung: Sql Server 2014 + Sql Server Management Studio

Ich habe mit dem Management Studio eine Datenbank erstellt auf dem Rechner auf dem ich mich verbinden will mit dem Windows Benutzer. Nun möchte ich mich mit der Datenbank verbinden.
Dazu habe ich eine WPF Applikation geschrieben und hab auch keine Probleme mich von meinem Hauptcomputer mit Windows 10 zu verbinden. Versuche ich jede mit einem kleinen Testprogramm draufzukommen wird die Verbindung jedesmal abgebrochen.

Folgender Code:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SqlTestConnnection
{
class Program
{
static void Main(string[] args)
{
string con = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=U:\\Datenbank\\testdb.mdf;Integrated Security=True;Connect Timeout=60";
SqlConnection sql = new SqlConnection(con);
try
{

sql.Open();
Console.WriteLine("Connected");

}
catch (SqlException e)
{
Console.WriteLine(e);
Console.WriteLine("Fehler beim Verbindungsaufbau");
}
sql.Close();
Console.ReadKey();
}
}
}



Sollte sich einfach verbinden, wie gesagt funktioniert auf meinem Hauptrechner, nur auf dem Win 7 32 Bit Rechner nicht.... Weiß langsam nichtmehr was ich noch alles probieren soll...

Grüße Patrick​
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.02.18 11:13 
- Nachträglich durch die Entwickler-Ecke gelöscht -
pad94 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 06.02.18 11:28 
Nein, es ist ein Sql Server 2014 installiert, sowie Sql Server Management Studio.
Ich hab von dem WIndows 7 die mdf Datenbank erstellt und anschließend auf dem Netzwerklaufwerk abgelegt. Remote Zugriff ist ebenfalls auf dem Server aktiviert.
Ich möchte ja direkt auf die Datenbank zugreifen, nicht auf den Server.

Im Anhang mal die Fehlermeldung, aber die sagt ja nur aus das er sich nicht verbinden kann, also das nach 60 Sekunden der Timeout aufgetreten ist.
Auf meinem Windows 10 Rechner, wo ebenfalls Sql Server 2014 installiert ist, hab ich keinerlei Probleme mit diesem Code auf die Datenbank zuzugreifen.
Einloggen, um Attachments anzusehen!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 06.02.18 11:45 
Die Fehlermeldung impliziert das die LocalDB Installation fehlt(Er kann die SqlLocalDB.exe nicht finden). SqlServer LocalDB ist was anderes als eine Standard Sql Server Installation die reicht nicht.


Hast du tatsächlich vor von einer LocalDB aus auf ein Datenbank File im Netzwerk zuzugreifen? Oder schlimmer noch später von mehreren LocalDB Installationen auf die gleiche Datei im Netz?
pad94 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 06.02.18 11:50 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:


Hast du tatsächlich vor von einer LocalDB aus auf ein Datenbank File im Netzwerk zuzugreifen? Oder schlimmer noch später von mehreren LocalDB Installationen auf die gleiche Datei im Netz?


Also müsste ich Local DB installieren und es würde funktionieren? Wie würde man dies richtig machen? Oder was ist daran schlecht?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 06.02.18 13:10 
Zitat:
Oder was ist daran schlecht?


Im Single User Fall ist es eher nur unglücklich. Kann aber in bestimmten (eher wenigen) Situationen möglicherweise das Richtige sein.
Im Multi User Fall also falls du versuchst viele LocalDB Installation auf die gleichen Datenbank Files schauen zu lassen wirst du vor eine Wand laufen. Die Synchronisierung der Zugriff erfolgt im Server/in der LocalDB nicht irgendwie magisch in den Files.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 06.02.18 13:27 
Hallo und :welcome:

LocalDb ist nur für lokalen Single-User Zugriff:
Access SQL Server Express LocalDB from local area network
Use SQL Server LocalDB with multi user over local network
Concurrent use of LocalDB on a network drive(s)
(alles in englisch - ich hoffe, du kannst englisch ;- )
pad94 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 06.02.18 13:44 
Achso ja das passt ja dann, ich werde darauf nur lesend zugreifen. Die Daten werden einmal eingespielt und dann von mehreren Pcs nur lesen verwendet, dann ist dies ja im Normalfall kein Problem? Also die Datenbank wird ja nicht gesperrt und wird auch nicht verändert während der Laufzeit des Programms. Wenn ich Änderungen vornehmen werde ich dann noch eine Lock Funktion implementieren, die die Datenbank einfach sperrt und den Usern mitteilt sobald eine Änderung gemacht wird.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 06.02.18 13:55 
Ohne es probiert zu haben gehe ich davon aus das das genauso wenig geht. Du könntest zwar die Datenbank in den Read-Only Mode versetzen aber ich gehe schwer davon aus das die Engines des Sql Server es verhindern das eine Datenbank von mehr als einer Datenbank Engine benutzt werden.

Wenn du eine zentrale Ablage von Daten im Netz brauchst dann installier dort auch einen Sql Server. Das ist ein erprobtes Verfahren.
pad94 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 06.02.18 17:02 
Ja für den Anfang reicht es zum testen, werde es dann noch anpassen. Trotzdem Danke!