Announcement

Collapse
No announcement yet.

Verbindung zur Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verbindung zur Datenbank

    Hi Leute,

    ich habe ein Problem mit einer Verbindung zu meiner Datenbank.
    Meine Systeme sind folgende:
    - Windows XP
    - MS Visual Studio 2005 Professional Edition
    - Microsoft SQL Server 2005 mit MS SQL Server Mngt Std v9

    Also ich möchte folgendes zB machen:
    //... weiterer Code
    SqlCommand cmd = new SqlCommand("select rolle from dbo.UserRolle", Werte.getConn(true));
    SqlDataReader read = cmd.ExecuteReader();
    while (read.Read())
    {
    try
    {
    // tu irgendwas
    }
    catch (Exception) {
    // werfe Exception hoch
    }
    }
    read.Close();
    cmd.Connection.close();
    //... weiterer Code


    In der Klasse Werte ist die getConn(...) so implementiert:
    //... weiterer Code
    public static SqlConnection getConn(Boolean t)
    {
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["SQLServerConnStrg"].ConnectionString);
    con.Open();
    return con;
    }
    //... weiterer Code

    In meinem web.config ist der ConnectionString so implementiert:
    //... weiterer Code
    <connectionStrings>
    <add name="SQLServerConnStrg" connectionString="Data Source=myDB;Initial Catalog=myCatalog;Persist Security Info=True;User ID=myUser;Password=myPassword;Min Pool Size=10;Max Pool Size=4000;" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    //... weiterer Code


    Meiner Meinung nach sollte des funktionieren. Denn genau den selben Code habe ich mal auf einem anderen PC testweise implementiert und laufen lassen und es funktioniert.

    Aber warum funktioniert es auf einem PC und auf einem anderen nicht?

    Ich habe alle Einstellungen beider PCs überprüft. Es sind identische System-Einstellungen(Internetoptionnen, ODBC, IIS, Netwerkeinstellungen, ...) vorhanden.

    Weiß einer evtl, worin ich evtl noch schauen kann?

    Ich bitte um Hilfe und Feedback.

    mfg

  • #2
    Habe noch keine Idee, woran das liegen könnte, nur ein paar Fragen:

    1.) ist der SQL-Server
    a) auf dem Rechner wo "es funktioniert"
    b) auf dem Rechner wo "es nicht funktioniert"
    c) auf keinem der beiden Rechner sondern auf einem dritten

    2.) sind alle Rechner im gleichen Netz

    3.) wurden Firewalleinstellungen kontrolliert

    4.) wurde der Connection-String schon mal zur Laufzeit direkt vor dem Connect mit zB einer Messagebox mit allen Details angezeigt und kontrolliert, ob wirklich alle Parameter identisch sind?

    5.) gibt es auch eine Fehlermeldung, wenn ja welche?

    bye,
    Helmut

    Comment


    • #3
      hwoess +1

      lässt SQL Server remote verbindungen zu? (hwoess 1c )
      Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

      Comment


      • #4
        Hi Leute,

        @hwoess:

        1 a) ja, ich habe ein Testsystem aufgebaut, wo die Applikation auf eine lokale Datenbank zugreift. Dies habe ich auch auf einem anderen Rechner probiert und dort hat es funktioniert. Zusätzlich kann man auf dem anderen Rechner auch auf eine andere Datenbank im gleichen Netzwerk verweisen und es funktioniert

        1 b) siehe 1 a)

        2 ) ja, alle Rechner sind im gleichen Netzwerk

        3) ja, Firewalleinstellungen wurde geprüft. Habe dafür extra den Netzwerkadmin gebeten des zu prüfen.

        4.) diesen Punkt werde ich nochmal durchgehen, thx

        5.) leider gibt es keine Fehlermeldung. Schon beim login dauert es eine Ewigkeit. Normalerweise braucht es nicht mal eine Sekunde aber in diesem Fall gibt es einfach kein Ergebnis. Nach ner Stunde etwa kommt dann eine GUI, dass die Log In Daten nicht korrekt sind. Das komische ist, dass die Applikation schon allein für die Log In Gui Daten aus der Datenbank braucht und diese auch bekommt, weil es sonst ein Balken nicht angezeigt wird. Noch komischer ist, dass wenn man absichtlich falsche Log In Daten eingibt, dass sofort und richtig "Falsche Log In Daten" zurück gegeben wird. Also holt er sich hier eigentlich schon Daten aus der Datenbank um zu vergleichen. Aber wenn man richtige Daten eingibt, dann komme ich einfach nicht über das Login Fenster weiter.

        Ich vermute, dass irgendwas geblockt wird. Was genau weiß ich aber leider nicht.

        Evtl noch paar Tipps?

        Danke schon mal im vorraus.

        Grüße

        Comment


        • #5
          @vadym voytas

          ich denke nicht, dass es mit remote verbindungen was zu tun hat, da es ja auf einem anderen rechner ohne probleme läuft

          Comment


          • #6
            Dann baue doch mal ein paar Mesageboxen ein, die dir anzeigen, wie weit das Programm gekommen ist. Beginnen würde ich mit einer Box vor dem con.Open() und gleich nach dem con.Open(), damit man das mal abhaken kann, falls es passt. Und dann überall dort, wo man auf die Datenbank zugreift - ebenfalls vorher und nachher eine Messagebox. Damit lässt sich die Schwachstellen normalerweise schnell finden.

            bye,
            helmut

            Comment


            • #7
              hab das ganze jetzt mal selbst in die hand genommen und den code debugt.
              es hat keinen fehler ausgegeben, weil der fehler aufgefangen wurde und niemand den fehler weitergegeben hat.

              also ne exception wurde geworfen und die exception ist einfach im code verloren gegangen. es handelt sich um eine System.Exception (_COMPlusExceptionCode -532459699).

              werde mal schauen, was diese exception genau ist.

              Comment


              • #8
                Check mal das http://thekindofme.wordpress.com/200...ptions-in-net/ , und schau was genau für Exception steht dahinten?
                Zuletzt editiert von vadym voytas; 17.12.2010, 01:17.
                Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                Comment


                • #9
                  Hi Leute,

                  habe den Fehler gefunden. Im IIS wurde der LocalSqlServer standardmäßig eingestellt. Wir greifen aber auf einen anderen zu.

                  Danke für die Feedbacks.

                  Comment

                  Working...
                  X