2010-07-13 14 views
0

Je veux sauvegarder ma base de données en utilisant LINQ to SQL:VB.NET - SqlException: Impossible de trouver l'entrée dans sysdatabases pour la base de données

Dim sql As String = "BACKUP DATABASE SeaCowDatabase TO DISK = _ 
'" + sfd.FileName + "'" 
db.ExecuteCommand(sql) 

Mais au lieu, je reçois cette erreur:

System.Data.SqlClient.SqlException (0x80131904): Could not locate entry in sysdatabases for database 'SeaCowDatabase'. No entry found with that name. Make sure that the name is entered correctly. BACKUP DATABASE is terminating abnormally. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) at System.Data.Linq.DataContext.ExecuteCommand(String command, Object[] parameters) at SeaCow.Main.Ribbon_Save_Click(Object sender, EventArgs e) in C:\Users\Daniel\My Programs\Visual Basic\SeaCow\SeaCow\SeaCow\Main.vb:line 595

Quelqu'un a des suggestions?

+0

Cela pourrait être un problème d'autorisations. Je vérifierais que vous pouvez accéder à la base de données de votre programme d'abord. – buckbova

+0

Je suis capable d'accéder à la base de données avec mon programme. –

+1

La question suivante est pourquoi dans le monde utiliseriez-vous jamais. Net pour sauvegarder une base de données. Cela peut être un travail sur la boîte de SQL ou même un sproc. Laissez la base de données gérer les données. – JonH

Répondre

2

Assurez-vous de ces choses:

  1. Cette base de données existe en fait
  2. Le login et utilisateur que vous utilisez ont des droits à la base de données de sauvegarde
+0

Je sais que la base de données existe depuis que mon programme récupère et stocke des informations à partir de celui-ci. Je ne suis pas sûr de la partie de connexion. –