Ich würde gerne wissen, wenn es möglich ist, ein SQL-Skript in clickonce enthalten, muss ich eine Anwendung aktualisieren, die lokal mit SQL Server verbindet, und innerhalb der gleichen Aktualisierung ist es notwendig, einige zu aktualisieren Stored Procedures, ist es möglich, diese Skripte mit einem Klick einmal auszuführen, oder ich habe Connect mit der Datenbank und führen sie manuell aus, die Anwendung clickonce wird in einem Server in der Cloud zum Download gespeichertAusführen von SQL-Skript auf clickonce-Anwendung
Antwort
Speichern Sie die gespeicherten Procs oder welche Skripte Sie benötigen, als "Embedded Resource" -Dateien im Projekt. Dann können Sie sie einfach laden, wenn das Programm ausgeführt wird, und sie mit den Standard-ADO.NET-Befehlen für den SQL Server ausführen.
Lesen eingebettete Ressource Textdatei: How To Read Embedded Resource File
Sie müssen nur Ihr Skript zum Abrufen (en) und unter Verwendung von Code ähnlich der folgenden ausführen:
// Read stored procedure script from embedded resource or simply assign in code, for example.
string scriptText = "CREATE PROCEDURE Test AS BEGIN SELECT 'Test'; END";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = scriptText;
cmd.ExecuteNonQuery();
}
}
Für Ihr Skript, möchten Sie vielleicht Schreiben Sie es, damit es Situationen behandeln kann, in denen die gespeicherte Prozedur bereits existiert (Beispiel: Wenn sie existiert, löschen Sie sie zuerst und dann CREATE PROCEDURE). Wenn Sie über Berechtigungen verfügen, die behandelt werden müssen (z. B. GRANT), können sie ebenfalls zum Skript hinzugefügt werden.
In der Regel möchten Sie jede gespeicherte Prozedur in eine separate eingebettete Ressourcentextdatei trennen und alle Dateien durchlaufen und jeweils mit SQL-Code wie oben ausführen. Vielleicht möchten Sie diese "Skripte" in eine separate Assembly (aka Project) einfügen, so dass es einfach ist, sie unter Verwendung des vorherigen Links zu lesen.
- 1. Ausführen von Befehlen auf Python
- 2. Ausführen von MySQL auf RAMDisk
- 3. Ausführen von VBA auf Fußnotentext
- 4. Ausführen von .exe auf Azure
- 5. Automatisches Ausführen von Komponententests auf Build
- 6. Ausführen von Exchange EWS auf Mono LdapException
- 7. Ausführen von JIRA auf einer VM
- 8. Ausführen von WebGL-Shadern auf travis-ci
- 9. Ausführen von Python & Django auf IIS
- 10. Ausführen von Mercurial-Server auf Google AppEngine
- 11. Ausführen von SolrCloud auf einem anderen Computer
- 12. Ausführen von Roslyn-Codeanalysatoren auf Build Server
- 13. Installieren/Ausführen von CGAL auf Ubuntu
- 14. Ausführen von Javascript-Datei auf klicken
- 15. Fehler beim Ausführen von Knoten auf Yosemite
- 16. Ausführen von XCTest auf iPhone-Gerät
- 17. Ausführen von Haskell auf Xeon-Phi
- 18. Ausführen von Java auf einem Webserver
- 19. Ausführen von RC2-Projekt auf definierten Port
- 20. Ausführen von Rollen basierend auf Variablen
- 21. Fehler beim Ausführen von 'play' auf 'HTMLMediaElement'
- 22. Ausführen von SonarQube auf benutzerdefinierten Hybris-Erweiterungen
- 23. Ausführen von SQL Server auf EC2
- 24. Ausführen von XPath auf untergeordneten Knoten
- 25. Ausführen von get_dummies auf mehreren DataFrame-Spalten?
- 26. Ausführen und Testen von ejabberd auf localhost?
- 27. Ausführen von J2ME-Apps auf Android-Telefonen
- 28. Ausführen von UI-Automatisierungstests auf Build-Server
- 29. Ausführen von Python-Code auf AWS-Instanz
- 30. Fehler beim Ausführen von Docker auf kubernetes
Haben Sie einen Dokumentationslink zum Ausführen dieser Dateien in der App? –
@JorgeTorselli - Ich füge einige Details oben hinzu. Hoffentlich hilft dir das beim Einstieg. –
Link zu einem anderen Problem beim Lesen von eingebetteten Ressourcen, wenn Sie Hilfe benötigen: https://StackOverflow.com/Questions/3314140/How-to-Read-embedded-resource-text-file –