zu behandeln Wenn ich sage, ich muss zwei separate SQL-Anweisungen gegen zwei separate Datenbanken ausführen. Jetzt mache ich (Pseudocode):Was ist der beste Weg, mehrere Datenbankverbindungen in C#
Try{
declare variable connectionA to DatabaseA
declare variable connectionB to DatabaseB
connectionA.open()
connectionB.open()
declare variable SQLCmdA with ConnectionA and one SQL statement
declare variable SQLCmdB with ConnectionB and another SQL statement
SQLCmdA.executeNonQuery()
SQLCmdB.executeNonQuery()
}
Catch()
{
print error message
}
Finally(){
connectionA.close()
connectionB.close()
SQLCmdA.Dispose()
SQLCmdB.Dispose()
}
Das oben genannte scheint sehr schwerfällig. Und wenn ich drei verschiedene SQL-Anweisungen habe, würde ich drei verschiedene SQLCmd-Variablen benötigen.
Gibt es eine „standard“ Weg, um solche Dinge zu tun, vor allem in Bezug auf die Effizienz, Leistung? Wenn jemand einen einfachen verbesserten Pseudocode bereitstellen kann, wäre das großartig.
Außerdem muss ich über die Implementierung von Connection Pooling kümmern, Ressourcen zu schonen und das Programm zu beschleunigen? Wenn ja, wie implementiere ich es in diesem Fall?
Danke!
Warum müssen Sie alle Befehle in diesem Lauf ist es einfach hinzufügen Methode? Warum konnten Sie keine Methode pro SQL-Befehl/Datenbankverbindung erstellen? –
Ich würde Blöcke verwenden, um das Problem zu umgehen/zu umgehen, aber ansonsten ist die Idee gut. Ich würde fragen, warum Sie alle Referenzen auf einmal haben müssen - warum nicht drei separate Anrufe, aufgeteilt in verschiedene Methoden, alle nacheinander aufgerufen? –
Ja, ich brauche die Verbindungen nicht gleichzeitig geöffnet zu haben. So kann ich eine generische Methode erstellen, die eine Verbindungsvariable und eine SQL-Befehlsvariable und möglicherweise eine SQL-Zeichenfolge einnimmt und die Abfrage innerhalb der Methode ausführt? Auf diese Weise macht es alles schöner? Ist das ein gängiger Weg? – Saobi