Zugriff auf SQL-Server mittels VB.net

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Daniel775

Benutzer
Registriert
01. Okt. 2008
Beiträge
62
Reaktionspunkte
0
Punkte
0
Hallo,

ist hier jemand der sich gut mit vb.net auskennt? Mein Versuch eine Verbindung zu dem SQL-Server aufzubauen schlägt fehl.

Fakten:
SQL wurde durch Mangement aktiviert und läuft
WebServer wurde durch Mangement aktivert und läuft.
SQL und WebService Prozesse werden anzeigt (Telnet - ps)
phpMyAdmin zu testzwecken aufgespielt. Zugriff mittels http://lokaleIP/phpadmin funktioniert.
Zugriff von aussen mit MySQL-Administrator durch einen XP-Rechner geht auch.

Jetzt zu meinem Problem wo ich so ein bissel im Regen stehe.
Ich benutze MS Visual Studio 2005 und versuche mittels einer Consolen-Anwendung auf den SQL-Server zuzugreifen. Ich weiss aber nicht genau wo das Problem liegt. Ist es der Connection-String ist es Treiber. Hier mal den Code den ich benutze.

Rich (BBCode):
Imports System.Data.OleDb, System.Data.Odbc, System.Data.SqlClient

Module Module1

    Sub Main()

        Dim sqlconn As SqlConnection

        sqlconn = New SqlConnection( _
        "Server=xxx.xxx.xxx.xxx;Database=mysql;Uid=root;Pwd=;")
        sqlconn.Open()

    End Sub

End Module

Ergebnis:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Wenn ich andere Connection-Strings ausprobiere, dann kennt Visual Keywords wie z.B. Port nicht.

Lokal auf einem SQL-Server läuft alles wunderbar. Nur bei meiner DS207+
wills nicht so recht.

Wenn in Telnet mir mit netstat die Verbindungen angucke kommt nicht mal der Verbindungsgesuch an. Was mit der gegenprobe von MySQL Administrator anders war.

Vielleicht kann mir ja jemand Ansätze geben wo ich noch suchen kann.

Danke im Vorraus

Gruß
 
Auf der DS läuft ein MySQL-Server und kein MS SQL Server.
Ich hab das ganze nie ausprobiert, aber Du brauchst den MySQL Connector für .NET.
Muss es unbedingt VB.NET sein? Wenn Du auch mit C# auskommst, wäre www.mycsharp.de ne super Community bei der Du sicherlich auf alle Fragen eine Antwort bekommst, ansonsten halt MSDN oder der o.g. Link.
 
Du wirst aber imho immer noch das Problem haben, dass Remote Verbindungen direkt an die DB nicht möglich sind (v.a. Remote Logins als Admin) Afaik geht das mit der Default MySql DB bei der DS ned. Du kannst nur via lokale Maschine (127.0.0.1/Localhost) auf den MySql Server zugreifen
 
Du wirst aber imho immer noch das Problem haben, dass Remote Verbindungen direkt an die DB nicht möglich sind (v.a. Remote Logins als Admin) Afaik geht das mit der Default MySql DB bei der DS ned. Du kannst nur via lokale Maschine (127.0.0.1/Localhost) auf den MySql Server zugreifen

:confused: Remotezugriff ist doch überhaupt kein Problem. Ich greife auf meine MySQL Datenbank von all over the world zu via Navicat oder anderen MySQL Verwaltungstools. Auch meine Homepage holt sich die Daten aus meiner Box. Oder check ich nicht was du meinst?
 
So richtig bin ich aber auch noch nicht dahinter gestiegen was jahlives meint. Also ich habe eine Verbindung erfolgreich aufbauen können im lokalen Netz mit VB.net Code. Remote hab ich ehrlich gesagt noch nicht getestest. Aber ich denke das das eigentlich kein Problem darstellen dürfte.

Wenn man die Datenbank z.B. für ein Chat oder Shop-System benötigt, dann liegen die CodeDateien doch sowieso meistens oder idealerweise lokal auf der DS.

Anders wenn man per Remote auf die Datenbank zugreifen möchte, dann muss man doch eigentlich nur den Port 3306 aufmachen, oder?

Begründe mal bitte deine These oder Erfahrung. Damit man sich mal ein Bild von machen kann.

Gruß
 
Ja port 3306 aufmachen und dem mysql user globale rechte (= %) geben
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat