none
c# database attach RRS feed

  • Soru

  • Şimdi arkadaşlar yaptığım projede sql mdf ve ldf dosyalarını yükleyicinin bilgisayarına koyuyorum. database e attach ediyorum. ancak şöyle bir sorunum varki attach edilen database read-only olarak koyuluyor. projeden gönderdiğim kod şöyle =>

    SqlCommand _cmd = new SqlCommand(@"CREATE DATABASE [database] ON ( FILENAME = N'C:\Program Files\Microsoft SQL Server\database.mdf' ), ( FILENAME = N'C:\Program Files\Microsoft SQL Server\database_log.ldf' ) FOR ATTACH", _cnn)

    Bu durumda sadece tabloları görüntüleyebiliyorum. Tabloya insert veya update edemiyorum yardımcı olan herkese teşekkür ederim
    • Düzenleyen facia026 23 Şubat 2012 Perşembe 12:03
    • Taşıyan Emre Gunerturk 27 Şubat 2012 Pazartesi 08:56 (Gönderen:Visual C#)
    23 Şubat 2012 Perşembe 12:02

Tüm Yanıtlar

  • Merhabalar,

    Veritabanı attach işlemini SQL Server'da bulunan sp_attach_db SP'si üzerinden gerçekleştirebiliyorsunuz.

    Bu linkteki makalede kullanımı ve detayları mevcut.

    İyi çalışmalar.


    Software Engineer http://www.yazilimdilleri.net http://www.ugurkizmaz.com

    23 Şubat 2012 Perşembe 15:31
  • Veysel hocam database i attach etmek sorun değil. Sorun database attach edildikten sonra read-onlu olarak database koyuluyor ve sadece tabloları gösteriyor. tabloya insert update yapamıyorsun.
    24 Şubat 2012 Cuma 07:18
  • SqlCommand _cmd = new SqlCommand(@"CREATE DATABASE [database] ON ( FILENAME = N'C:\Program Files\Microsoft SQL Server\database.mdf' ), ( FILENAME = N'C:\Program Files\Microsoft SQL Server\database_log.ldf' ) FOR ATTACH; ALTER DATABASE [database] SET READ_WRITE;", _cnn)
    şeklinde denermisin. Bu sorunu yapmaması lazım, düşük ihtimal ama acaba sql express servisinin kullanıcısı farklı olabilirmi.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    24 Şubat 2012 Cuma 07:29
  • Önay hocam saygılar. Verdiğiniz kodu yazdım. ama bana şöyle bir hata fırlattı=

    Unable to open the physical file "C:\Program Files\Microsoft SQL Server\databaseadi.mdf". Operating system error 5: "5(Erişim engellendi.)".
    Unable to open the physical file "C:\Program Files\Microsoft SQL Server\databaseadi_log.ldf". Operating system error 5: "5(Erişim engellendi.)".
    Database 'databaseadi' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.
    ALTER DATABASE statement failed.

    >

    24 Şubat 2012 Cuma 07:33