Ich muss alle varchar zu Nvarchar, Text zu Ntext und Char zu Nchar in einigen 300. SQL-Dateien auf meiner Festplatte gespeichert aktualisieren. Diese Dateien enthalten gespeicherte Prozeduren, Trigger, Funktionen, Ansichten usw. Was ist der beste Ansatz, um dies zu erreichen.Die besten Schritte zum Ersetzen in SQL-Dateien
Antwort
Wenn Sie wirklich den sicheren Weg wollen, müssen Sie einen Parser verwenden, der die Struktur tatsächlich versteht und nur solche Ereignisse ersetzt, die übereinstimmen.
Ich bin mir nicht sicher, ob es sich lohnt zu tauchen, aber Sie könnten selbst etwas programmieren. Sie könnten versuchen zu sehen, ob ein Opensource-T-SQL-Parser mit Ihren Dateien umgehen kann. man ist Teil der Opensource bsn ModuleStore versioning toolset.
.sql
Dateien sind nichts weiter als Textdateien. Ich würde durch die Dateien iterieren und diese Zeichenfolge beim Parsen ersetzen.
Was passiert, wenn eine Stringkonstante das Wort "text" enthält? Ziemlich häufig meiner Meinung nach. Sie werden auch keine internen Kommentare ersetzen wollen. Sie brauchen etwas Syntax-bewusster als einfaches Suchen & Ersetzen. – neo2862
Es kann auch Spaltennamen namens Text geben. in diesem Fall sollten Sie diese auch nicht ersetzen. – Chinjoo
Finden Sie heraus, wie Sie sicherstellen können, dass die richtige Instanz von 'text' ersetzt wird. Angenommen, Sie haben beispielsweise eine "CREATE TABLE" gefunden, können Sie wahrscheinlich feststellen, dass der dort gefundene Text ein Datentyp ist. Ansonsten ist es für nur 300 Dateien möglicherweise nicht geeignet und Sie sollten es besser manuell machen, während Sie manuell 'Suchen ... Ersetzen' durchführen. –
- 1. Die besten Artikel zum Thema Kantenerkennung/Bilderkennung
- 2. Was sind die Schritte zum Entfernen eines Publikationsziels in Tridon?
- 3. Schritte zum Installieren von py2cairo?
- 4. Was sind die besten Schritte, um die Magento-Leistung zu verbessern?
- 5. Die besten Frameworks zum Erstellen von Folien in HTML5
- 6. Was sind die Schritte zum Debuggen der Java Web Application?
- 7. Was sind die Schritte zum Hochladen einer Java-Webanwendung
- 8. Schritte zum Errorproofing eines missionskritischen Prozesses
- 9. Schritte zum Generieren der REST-API-Dokumentation
- 10. Was sind die besten Schritte, um mit TDD mit C# zu programmieren?
- 11. Schritte zum Verschieben von Symfony 2-Projekt zum Hosting?
- 12. Die besten BDD-Praktiken zum Entwerfen von Gurkenszenarien für Formulare
- 13. Was sind die besten ASP.NET-Leistungsindikatoren zum Überwachen?
- 14. Die besten Möglichkeiten zum Anzeigen von Benachrichtigungen mit jQuery
- 15. Die besten Möglichkeiten zum Parsen einer URL mit C?
- 16. Was sind die besten Ressourcen zum Erlernen von Windows PowerShell?
- 17. Wo sind die besten Erklärungen zum Speichermanagement für das iPhone?
- 18. Die besten Tools zum Debuggen von Interop-Problemen
- 19. Was sind die besten Seiten/Bücher zum Lernen von Apache?
- 20. Schritte zum Verwenden eines Achsenwebdienstes in Visual Studio 2008
- 21. Was sind die Schritte zum Einrichten von SSL für die Zusammenarbeit mit WCF in Azure?
- 22. Schritte zum Hochladen einer iPhone-Anwendung in den AppStore
- 23. Schritte zum Einbetten eines Windows Forms-Benutzersteuerelements in Webseite
- 24. Die besten PHP Podcasts
- 25. Erste Schritte in WPF
- 26. Methode zum Ersetzen der Zuweisung in Funktionen
- 27. Regex zum Suchen und Ersetzen in xcode ...?
- 28. Methode zum Ersetzen des Wortes
- 29. Möglichkeiten zum Ersetzen von GroupByKey in Apache Spark
- 30. Abfrage zum Ersetzen eines Kommas in SQL?
Aufgrund der bereits in Kommentaren zu den Antworten genannten Probleme (die Möglichkeit, dass die Wörter in Literalen vorkommen), müssen Sie die Dateien analysieren, um die Typen zu identifizieren, die geändert werden müssen. – Orbling
Es gibt einen .NET-Wrapper für das ausgezeichnete Scintilla-Quellcode-Editor-Steuerelement. Nachdem Sie die Sprache auf SQL eingestellt haben, gibt es eine Methode, mit der Sie die genaue syntaktische Rolle des ausgewählten Textes abfragen können, wie zB Schlüsselwort, String-Literal usw. Wenn Sie so viele Dateien haben, lohnt es sich, diese zu betrachten. – neo2862
yep .. Parsing ist der Weg zu gehen ... könnten Sie einen Weg vorschlagen, wie Sie mit der Parsing-Ansatz weitergehen !!! – Chinjoo