2009-11-11 10 views
2

Est-il possible d'ouvrir et de lire un fichier texte dans un projet .NET? Je sais que je peux utiliser la classe System.IO.StreamReader pour le faire pour un fichier texte Windows. Je voudrais stocker des scripts SQL pour mettre à jour ma base de données dans des fichiers texte dans mon projet. Depuis que j'écris ceci dans VB je ne peux pas simplement coller les scripts directement dans mon code en raison des continuations de lignes, où je pourrais si c'était C#. Ce sont des scripts très longs.Lire un fichier texte dans un projet .NET

+1

Pourquoi ne pas simplement créer une procédure stockée pour chaque script long? – brendan

+0

Avez-vous pensé à transformer ces scripts en procédures stockées? – Christian

+0

Alors, quelle est la question, puisque vous connaissez StreamReader? – Lucero

Répondre

5

Les fichiers texte d'un projet ne sont pas ajoutés à votre fichier exécutable. Vous pouvez activer Copy to Output Directory dans les propriétés du fichier .sql. Cela les copiera à côté de vos assemblys dans le répertoire bin. À partir de là, votre programme pourrait les lire comme n'importe quel autre fichier.

1

Incorporer en tant que ressources dans l'assembly, puis utiliser ResourceManager pour les lire dans un Stream ou String lors de l'exécution?

0

J'ai moi-même rencontré ce problème. Je peux voir que Jeff a accepté la solution où vous copiez les fichiers source dans votre dossier de projet. Cependant, je ne suis pas à l'aise avec les scripts db-create/drop/alt qui traînent sur fileareas. J'ai trouvé que cette question a été posée à nouveau plus tard. Voici ce que solution I implemented utilisant des ressources incorporées à grand succès.

Notre solution implique des bases de données distribuées réparties sur plusieurs instances de base de données. Nous avons implémenté une solution qui inclut une base de données master contenant toutes les informations d'installation des bases de données 'shard'. Avec un moteur 'SqlUpdate' nous pouvons garder tous les fragments distribués à jour.

Questions connexes