2009-11-06 8 views
2

J'ai un fichier proc .sql stocké sur mon système. Je veux être en mesure de déplacer ce fichier dans la base de données en tant que sp à partir du code C#.Déployer une procédure stockée SQL en C#

Je pourrais ouvrir le fichier, le lire en tant que chaîne, et l'exécuter mais je pense qu'il devrait y avoir un meilleur moyen.

+0

S'il y a, alors j'aimerais le savoir, parce que c'est ainsi que je le fais. – Jrud

+0

vous voulez être capable d'exécuter le sproc directement dans C#? – Daniel

+0

Je pense qu'il veut exécuter le code pour créer le SP en C#, pas seulement l'exécuter. (Ce serait trop facile) – Jrud

Répondre

2

pourquoi pas? c'est une façon simple et cela fonctionne, vous lisez le script SQL à partir du fichier et de l'exécuter
Je pense que cette façon, il est très bien

0

L'analyseur Sql doit compiler la « procédure créer ..... » déclaration pour le convertir en la représentation interne du serveur d'un sp. Même si vous pouviez trouver un moyen de contourner cela, pourquoi? C'est la manière acceptée d'entrer et de sortir des données du serveur - même lorsque ces données sont du code.

1

Voulez-vous que la procédure stockée réside sur la base de données au lieu d'une requête chaîne dans votre code C#?

I peut être base, mais loin votre question n'est pas très clair ...

Avez-vous regardez dans la commande TSQL CREATE PROCEDURE?

0

Je ne pense pas qu'il existe un moyen de faire ce que vous cherchez en C# ou .net. Vous pouvez utiliser SMO pour prendre des procs stockés sur le serveur SQL et les enregistrer dans un fichier, mais pas l'inverse. Vous devrez peut-être utiliser powershell si vous voulez exécuter directement des fichiers .sql sur votre ordinateur.

0

Il est possible d'utiliser les outils de ligne de commande pour tout serveur de base de données que vous utilisez pour créer les procédures stockées. Exécuter l'exe à partir de C# avec les paramètres corrects.

Ils acceptent souvent le nom de fichier en tant que paramètre, vous n'avez donc pas besoin de charger le sql sous forme de chaîne.

Je ne sais pas si c'est ce que vous cherchez, mais cela devrait fonctionner.

0

Je crois que ce que vous cherchez est "SQL Server Management Objects (SMO)". Il est installé sous la section "Outils clients" avec l'installation de SQL Server, et vous pouvez le programmer avec C# et Visual Studio 2008.

Questions connexes