(Visual Studio 2008 – SQL SERVER) Syntaxe pour SP_RENAME
-
jeudi 6 décembre 2012 06:58
Bonjour,
Voici le code que j'utilise pour renommer ma basesqlRequete = "EXECUTE sp_rename DBTEST_SQL, Test_Sql, 'DATABASE'" SqlCmd = New SqlCommand(sqlRequete, SqlConx, Sqltrans) SqlCmd.ExecuteNonQuery()
Cela me donna l'erreur suivante
Index #0 Message: La base de données 'DBTEST_SQL' n'existe pas. Fournissez un nom de base de données valide. Pour obtenir la liste des bases de données disponibles, faites appel à sys.databases. LineNumber: 29 Source: .Net SqlClient Data Provider Procedure: sp_renamedbSoit … Je modifie le code pour lui donner le nom exact, trouvé dans sys.databases
sqlRequete = "EXECUTE sp_rename 'E:\MESDOCUMENTSD\VISUALBASIC\VB2008\PROJETSTESTESSAI\SQL_ESSAIS\SQL_ESSAIS\BIN\DEBUG\FIC\DBTEST_SQL.MDF', Test_Sql, 'DATABASE'" SqlCmd = New SqlCommand(sqlRequete, SqlConx, Sqltrans) SqlCmd.ExecuteNonQuery()
Cela me donne alors cette erreur:
Index #0 Message: L'ancien nom qualifié est introuvable pour le type d'élément 'DATABASE'. LineNumber: 116 Source: .Net SqlClient Data Provider Procedure: sp_renameComment faire ?
Cordialement Sauveur CONSALVI
Toutes les réponses
-
vendredi 7 décembre 2012 11:29Propriétaire
Bonjour
Je n’ai pas une version Express pour tester, mais essayez de utiliser
sqlRequete ="EXECUTE sp_rename 'DBTEST_SQL.mdf', 'Test_Sql.mdf', 'DATABASE'"
Cordialement,
-
vendredi 7 décembre 2012 15:58
Bonsoir,
Merci de vous pencher sur cee problème
Hélas, cela donne l'erreur :
Index #0 Message: L'ancien nom qualifié est introuvable pour le type d'élément 'DATABASE'. LineNumber: 116 Source: .Net SqlClient Data Provider Procedure: sp_rename
Cordialement Sauveur CONSALVI
-
lundi 10 décembre 2012 10:07Propriétaire
Bonjour
Si vous exécutez sp_databases quel est le nom de la BD ?
Cordialement,
-
lundi 10 décembre 2012 16:24
Bonsoir,
E:\MESDOCUMENTSD\VISUALBASIC\VB2008\PROJETSTESTESSAI\SQL_ESSAIS\SQL_ESSAIS\BIN\DEBUG\FIC\DBTEST_SQL.MDF
C'est le même que celui donné par sys.databases
Cordialement Sauveur CONSALVI
-
mardi 11 décembre 2012 10:04Propriétaire
Bonjour
J'ai fait des divers testes.
Le problème est que sp_rename n’aime pas le nom long de la BD de type E:\MESDOCUMENTSD\VISUALBASIC\VB2008\PROJETSTESTESSAI\SQL_ESSAIS\SQL_ESSAIS\BIN\DEBUG\FIC\DBTEST_SQL.MDF
Les pas à suivre sont :
- Détachez la BD avec
- Exec sp_detach_db 'c:\MESDOCUMENTSD\VISUALBASIC\VB2008\PROJETSTESTESSAI\SQL_ESSAIS\SQL_ESSAIS\BIN\DEBUG\FIC\DBTEST_SQL.MDF '
- Exec sp_attach_db @dbname = ‘NomDb’ , @filename1 =’chemin vers bd’
Apres ca sp_rename vas fonctionner avec NomDb’ comme nom de la BD.
Aurel
- Marqué comme réponse Sauveur Consalvi mardi 11 décembre 2012 15:49
-
mardi 11 décembre 2012 15:55
Bonsoir,
Merci pour vos précieux conseils
Effectivement, je peux maintenant faire le "rename"
Mais comment apprendre tout cela ?
Je finis par trouver la syntaxe, avec l'aide du forum, mais pourquoi cet ordre ? Quel est ça porté ? Quand faut-il le faire ?
Comme je l'ai demandé dans une de mes questions, pouvez-vous m'indiquez un livre, en français, avec des exercices et leurs corrigés, un CD, pour apprendre SQL SERVER ?
Merci beaucoup
Cordialement Sauveur CONSALVI
-
mercredi 12 décembre 2012 07:40Propriétaire
Bonjour
Je ne peux pas vous indiquer une livre sur SQL.
Vous devez seulement utiliser les moteurs de recherche.
J’ai fait une recherche sur bing.com avec « ms sql rename database »
Le premier lien contient 3 méthodes pour renommer la BD.
Si vous connaissez l’anglais, encore mieux.
Pour trouver que SQL n’aime les noms longs j’ai fait des tests. Ca n’est pas écrit dans des livres.
Cordialement,
-
mercredi 12 décembre 2012 10:06
Merci de vos efforts
Je vais continuer de chercher
Cordialement Sauveur CONSALVI

