none
URGENT>>>> RRS feed

  • Question

  • Invalid value for key "attachdbfilename" while attempting to run asp.net 2008 connected to sql server 2005.. already made changes to dataSource bt still nt working..

    any solutions..?

    Friday, October 15, 2010 7:32 AM

Answers

  • This property corresponds to the "AttachDBFilename", "extended properties", and "initial file name" keys within the connection string. If the value passed in is null when you try to set the property, the AttachDBFilename property is reset. If the value has not been set and the developer tries to retrieve the property, the return value is String.Empty.

    Note
    If the primary data file (.mdf) is read-only, the attachment will fail because the log path inside of the .mdf file needs to be updated. This could occur if the file has been copied from a CD. Change the file attribute to read/write prior to attaching it. AttachDBFilename is only supported for primary data files with an .mdf extension.
     

    An error will be generated if a log file exists in the same directory as the data file and the 'database' keyword is used when attaching the primary data file. In this case, remove the log file. Once the database is attached, a new log file will be automatically generated based on the physical path.

    using System.Data.SqlClient;
    
    class Program
    {
      static void Main()
      {
        try
        {
          string connectString =
            "Server=(local);" +
            "Integrated Security=true";
          SqlConnectionStringBuilder builder =
            new SqlConnectionStringBuilder(connectString);
          Console.WriteLine("Original: " + builder.ConnectionString);
          Console.WriteLine("AttachDBFileName={0}", builder.AttachDBFilename);
    
          builder.AttachDBFilename = @"C:\MyDatabase.mdf";
          Console.WriteLine("Modified: " + builder.ConnectionString);
    
          using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
          {
            connection.Open();
            // Now use the open connection.
            Console.WriteLine("Database = " + connection.Database);
          }
          Console.WriteLine("Press any key to finish.");
          Console.ReadLine();
        }
        catch (Exception ex)
        {
          Console.WriteLine(ex.Message);
        }
      }
    }
    
    • Marked as answer by liurong luo Thursday, October 21, 2010 9:46 AM
    Friday, October 15, 2010 7:52 AM