[C#] Sql Exception wurde nicht behandelt

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von StormySunshine.

    [C#] Sql Exception wurde nicht behandelt

    Ich versuche mich derzeit in C# und bin bissl am verzweifeln. ;( In Zeile 11 tritt eine unbehandelte Sql Exception auf.
    Mein Ziel ist es, die Verbindung zur DataTable herzustellen und das TreeView mit Daten zu füttern. Vielleicht gehe ich auch völlig falsch an die Sache ran oder habe einen Denkfehler.


    Sie lautet:
    "Die von der Anmeldung angeforderte 'ControlSecurity'-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.
    Fehler bei der Anmeldung für den Benutzer 'WORKSTATION\REB04'."


    Hier für den Quellcode klicken

    VB.NET-Quellcode

    1. private void FillUsersInRollsTree()
    2. {
    3. ConnectionStringSettingsCollection connectionStrings =
    4. ConfigurationManager.ConnectionStrings;
    5. string connString = connectionStrings["ControlBasedSecurity.Properties.Settings.ControlSecurityConnectionString"].ToString();
    6. SqlConnection conn = new SqlConnection( connString );
    7. try
    8. {
    9. conn.Open();
    10. }
    11. catch (Exception ex)
    12. {
    13. MessageBox.Show(ex.Message);
    14. }
    15. string queryString = "select u.Name, r.RoleName from userstoRoles utr " +
    16. " join users u on u.userID = utr.FKUserID " +
    17. " join Roles r on r.roleID = utr.FKRoleID ";
    18. if ( rbName.Checked )
    19. {
    20. queryString += "order by Name";
    21. }
    22. else
    23. {
    24. queryString += "order by RoleName";
    25. }
    26. UsersInRoles.BeginUpdate();
    27. UsersInRoles.Nodes.Clear();
    28. TreeNode parentNode = null;
    29. TreeNode subNode = null;
    30. DataSet ds = new DataSet();
    31. SqlDataAdapter dataAdapter = new SqlDataAdapter( queryString, conn );
    32. dataAdapter.Fill( ds, "usersInRoles" );
    33. DataTable dt = ds.Tables[0];
    34. string currentName = string.Empty;
    35. foreach ( DataRow row in dt.Rows )
    36. {
    37. if ( rbName.Checked )
    38. {
    39. subNode = new TreeNode( row["roleName"].ToString() );
    40. if ( currentName != row["Name"].ToString() )
    41. {
    42. parentNode = new TreeNode( row["Name"].ToString() );
    43. currentName = row["Name"].ToString();
    44. UsersInRoles.Nodes.Add( parentNode );
    45. }
    46. }
    47. else
    48. {
    49. subNode = new TreeNode( row["Name"].ToString() );
    50. if ( currentName != row["RoleName"].ToString() )
    51. {
    52. parentNode = new TreeNode( row["RoleName"].ToString() );
    53. currentName = row["RoleName"].ToString();
    54. UsersInRoles.Nodes.Add( parentNode );
    55. }
    56. }
    57. if ( parentNode != null )
    58. {
    59. parentNode.Nodes.Add( subNode );
    60. }
    61. }
    62. UsersInRoles.EndUpdate();
    63. }
    64. private void RadioButtonClick( object sender, EventArgs e )
    65. {
    66. FillUsersInRollsTree();
    67. }
    68. private void ManageRoles_Load( object sender, EventArgs e )
    69. {
    70. this.usersTableAdapter.Fill( this.controlSecurityDataSet.Users );
    71. this.rolesTableAdapter.Fill( this.controlSecurityDataSet.Roles );
    72. }
    73. }


    Daten im Eigenschaftsfenster:

    StormySunshine schrieb:

    [...]
    "Die von der Anmeldung angeforderte 'ControlSecurity'-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.
    Fehler bei der Anmeldung für den Benutzer 'WORKSTATION\REB04'."[/color]
    [...]

    schau dir mal diesen Thread an: [VB 2010] Debuggen, Fehler finden und beseitigen
    und versuch mal zu verstehen was die Fehlermeldung dir sagen möchte!
    Ich habe schon verstanden, dass die Anmeldung fehlgeschlagen ist. Der Grund dafür kann sein, dass Tabellen- oder Datenbankobjekte nicht mehr in der Datenbank verfügbar sind, Parameterwerte konnten nicht konvertiert werden oder zB. dass die Verbindung zur DB unterbrochen wurde. :)

    Gerne hänge ich auch mal das Proj. als ZIP an. Ich finde den Fehler leider nicht. Mit der Suche habe ich mich heute den ganzen Tag bemüht.
    Ahoi,

    hast du denn schon geschaut ob der Connectionstring überhaupt richtig übermittelt wird, bzw. ob er denn in deiner config richtig steht ?
    Der Fehler sagt mir eigentlich, dass der Nutzer keine Zugriffsrechte hat.
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Hee Manü, :)

    da habe ich nochmal drüber geschaut. Das sieht soweit super aus. Ich vermute auch, dass irgendetwas mit den Zugriffsrechte nicht funktioniert. Bin gerade dabei die DB nochmal in ein anderes Projekt zu ziehen bzw. neu zu design.
    Wahlweise könntest du dich auch einfach mal versuchen an deiner DB via DB-Tool (MSSQL Server Managenet Studio) anzumelden ... kommt natürlich darauf an, was du verwendest.
    Und ich glaube übrigens, dass dich slice auch nur auf den Anmeldefehler bringen wollte. ;)
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Warte ich schau mal unter meinem Teppich ob ich sie finde ... ... ... ... Nein da ist sie nicht.
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Hast Du sie nicht gefunden? Schade! :D

    Nee, mal im Ernst. Was kann es denn für Ursachen haben, dass die nicht mehr im Ordner ist. Also gelöscht habe ich sie nicht. Jemand anderes hat kein Zugriff auf die Festplatte. Im Backup ist die auch nicht mehr drin. 8|

    Naja, nützt wohl nichts. Da muss ich sie nochmal neu schreiben.