Anzeige

Fehler Datenbank Verbindung


werner_sg

Erfahrenes Mitglied
#1
Hallo zusammen versuche gerade die Access Datenbank Verbindung zu einer Online-SQL Datenbank zu ändern und komme nicht weiter

Über unterstützung wäre ich dankbar

Hier die Fehlermeldung;

System.Data.SqlClient.SqlException
HResult=0x80131904
Nachricht = Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)
Quelle = .Net SqlClient Data Provider
Stapelüberwachung:
bei System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
bei System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
bei System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
bei System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
bei System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
bei System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
bei System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
bei System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
bei System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
bei System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
bei System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
bei System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
bei System.Data.SqlClient.SqlConnection.Open()
bei System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
bei TelMeSystem.TelMeStart.LoadData() in C:\Users\Admin\source\repos\TelMe\TelMeSystem\TelMeStart.vb: Zeile21
bei TelMeSystem.TelMeStart.TelMeStart_Load(Object sender, EventArgs e) in C:\Users\Admin\source\repos\TelMe\TelMeSystem\TelMeStart.vb: Zeile65
bei System.EventHandler.Invoke(Object sender, EventArgs e)
bei System.Windows.Forms.Form.OnLoad(EventArgs e)
bei System.Windows.Forms.Form.OnCreateControl()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.Form.WmShowWindow(Message& m)
bei System.Windows.Forms.Form.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, Int32 wParam, Int32 lParam)
bei System.Windows.Forms.Form.SetVisibleCore(Boolean value)
bei System.Windows.Forms.Control.set_Visible(Boolean value)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
bei TelMeSystem.My.MyApplication.Main(String[] Args) in : Zeile81

Innere Ausnahme 1:
Win32Exception: Der Netzwerkpfad wurde nicht gefunden

Und hier der Quelltext:

Code:
Imports System.Data
Imports System.Data.SqlClient

Public Class TelMeStart

    'Daten Anfang

    ' Datenpuffer erzeugen
    Private dt As New DataTable
    ' Verbindungszeichenfolge
    Private cnString As String = "Server=sql11.freemysqlhosting.net:0000;Database=sqlxxxxxx;User Id=sqlxxxxxx;Password=xxxxxxx"
  
    ' SQL Anweisung zum Laden der Daten
    Private sqlString As String = "SELECT ID, Happy, Neutral, NotHappy"
    '"SELECT ID, Happy, Neutral, NotHappy FROM Happy"
    ' Daten laden
    Private Sub LoadData()
        Using da As New SqlDataAdapter(sqlString, cnString)
            da.Fill(dt)
            Happy = dt(0)("Happy")
            Neutral = dt(0)("Neutral")
            NotHappy = dt(0)("NotHappy")
        End Using
    End Sub
    ' Daten speichern
    Private Sub SaveData()
        Using da As New SqlDataAdapter(sqlString, cnString)
            Dim cb As New SqlCommandBuilder(da)
            da.Update(dt)
        End Using
    End Sub
    ' Eigenschaften der Werte des ersten Datensatzes
    Private Property Happy As Integer
        Get
            Return If(dt.Rows.Count > 0 AndAlso dt(0)("Happy") IsNot Nothing, CType(dt(0)("Happy"), Integer), 0)
        End Get
        Set(value As Integer)
            If dt.Rows.Count > 0 AndAlso dt(0)("Happy") IsNot Nothing Then dt(0)("Happy") = value
        End Set
    End Property
    Private Property Neutral As Integer
        Get
            Return If(dt.Rows.Count > 0 AndAlso dt(0)("Neutral") IsNot Nothing, CType(dt(0)("Neutral"), Integer), 0)
        End Get
        Set(value As Integer)
            If dt.Rows.Count > 0 AndAlso dt(0)("Neutral") IsNot Nothing Then dt(0)("Neutral") = value
        End Set
    End Property
    Private Property NotHappy As Integer
        Get
            Return If(dt.Rows.Count > 0 AndAlso dt(0)("NotHappy") IsNot Nothing, CType(dt(0)("NotHappy"), Integer), 0)
        End Get
        Set(value As Integer)
            If dt.Rows.Count > 0 AndAlso dt(0)("NotHappy") IsNot Nothing Then dt(0)("NotHappy") = value
        End Set
    End Property

    ' Daten Ende
    Private Sub TelMeStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Happy = 0
        Neutral = 0
        NotHappy = 0
        LoadData()

    End Sub

    Private Sub Form33_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        SaveData()
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        Happy = Happy + 1 'Label3.Text = NotHappy.ToString
        Form1.Show()
        SaveData()
        Me.Close()

    End Sub

    Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
        Neutral = Neutral + 1
        Ursache.Show()
        SaveData()
        Me.Close()
    End Sub

    Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click
        NotHappy = NotHappy + 1
        Ursache.Show()
        SaveData()
        Me.Close()
    End Sub

    Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles PictureBox4.Click
        LoginForm1.Show()
        SaveData()
        Me.Close()

    End Sub
End Class

Gruß Werner
 

werner_sg

Erfahrenes Mitglied
#3
Morgen Spyke

Fehler bleibt

System.Data.SqlClient.SqlException: "Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindung mit SQL Server. Der Server wurde nicht gefunden, oder auf ihn kann nicht zugegriffen werden. Überprüfen Sie, ob der Instanzname richtig ist und ob SQL Server Remoteverbindungen zulässt. (provider: Named Pipes Provider, error: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)"

ist ein kostenloser Free SQL Server zum Testen
 

werner_sg

Erfahrenes Mitglied
#5
vom Rechner aus selbst nein anmelden online über webbrowser geht, ping 100% Verlust

habe dir vorhin mal die Daten gesendet, verstehe auch nicht warum es nicht geht.

kennst du irgendeinen vernünftigen Datenbank Anbieter zum testen, oder von mir aus auch zum mieten dann aber ohne Kredit Karte werde mir nicht dafür extra eine zulegen.
 

werner_sg

Erfahrenes Mitglied
#6
So habe jetzt mal local eine Datenbank aufgesetzt Fehler ist Konstant liegt also nicht an direkt an der Verbindung

es bleibt konsequent an der da.Fill(dt) hängen

Private Sub LoadData()
Using da As New SqlDataAdapter(sqlString, cnString)
da.Fill(dt)

wem fällt eine Lösung bzw. mein Fehler auf
 

Spyke

Capoeirista
Premium-User
#7
Was für eine lokale DB?
Wie is der connection string?
Wirklich die gleiche Meldung?

Bei deinen Daten hatteste keinen Port angegeben, ev. liegt da das problem.
 

werner_sg

Erfahrenes Mitglied
#8
Hallo Skype,

habe es mit und ohne Port versucht, den Connection String hatte ich dir in einer privaten Unterhaltung gesendet und lokal hatte ich ebenfalls eine Mysql Datenbank aufgesetzt und Fehler ist 100% der selbe bleibt am Fill hängen;)

Habe mich jetzt aber dazu entschlossen bei der Access Datenbank zu bleiben welche ja einwandfrei läuft, zum verteilen der Datenauswertung wird diese jetzt als Grafik mit Zeitstempel lokal gespeichert, ausgedruckt, per Mail weitergeleitet und online abgelegt.

Lösung würde mich trotzdem Interressieren.

Was ich gerne noch einbauen würden dass das ganze zeitgesteuert und automatisch abläuft, hättest Du da eine Idee? ich bisher noch nicht wirklich.

Gruß Werner
 

werner_sg

Erfahrenes Mitglied
#10
MySQL DB war richtig, weis beim nächstenmal Bescheid mit der Connection.

Aber wie gesagt bleibe jetzt bei der Accesss Datenbank :)

Ich würde gerne eine Datei zeitgesteuert versenden, z.B. jeden Tag zur gleichen Uhrzeit oder eventuell auch an einem bestimmten Wochentag zur festgelegten Zeit
 

Spyke

Capoeirista
Premium-User
#11
auf anhieb würde mir erstmal nur einfallen einen Dienst für zu schreiben (da kenn i mi aber nur ganz rudimentär aus).
Windows bietet glaube auch paar automatisierte Task an, aber da bin i auch nicht wirklich konform drin.

Ev. für die Frage en neuen Thread anstarten (hat ja auch mit DB nixs mehr zu tun), vielleicht gibts ja wenn anders ders weiß.

Nachtrag:
Oder ganz billige Lösung, en Programm schreiben was im autostart angestartet wird.
 
Anzeige
Anzeige