Rudy Setyo Purnomo

foundations and fundamentals

November 2008 - Posts

  • ASP.NET Membership and Role Provider using Oracle database part 1

    Seperti yang kita ketahui bahwa di ASP.NET 2.0 sudah Built-In Providers untuk membantu kerja developer.

    • Membership
    • Role management
    • Site map
    • Profile
    • Session state
    • Web events
    • Web Parts personalization
    • Protected configuration

    Yang akan saya bahas disini adalah Membership Provider dan Role Provider,

    Membership
    System.Web.Security.ActiveDirectoryMembershipProvider
    System.Web.Security.SqlMembershipProvider

    Role management
    System.Web.Security.AuthorizationStoreRoleProvider
    System.Web.Security.SqlRoleProvider
    System.Web.Security.WindowsTokenRoleProvider

     

    OK, bagaimana dengan developer yang menggunakan Oracle untuk menyimpan persistent state tersebut? Sudah pasti ASP.NET menyediakan API untuk itu, contohnya untuk Membership Provider, jika merujuk pada http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx maka Inheritance Hierarchy dari System.Web.Security.SqlMembershipProvider adalah:

    System.Object
      System.Configuration.Provider.ProviderBase
        System.Web.Security.MembershipProvider
          System.Web.Security.SqlMembershipProvider

    Dari informasi tersebut, sudah cukup untuk membuat Membership Provider sendiri, katakanlah Erudeye.Web.Security.OracleMembershipProvider, dan Inheritance Hierarchy nya seperti ini:

    System.Object
      System.Configuration.Provider.ProviderBase
        System.Web.Security.MembershipProvider
          Erudeye.Web.Security.OracleMembershipProvider

    Done, untuk Provider nya sudah ada gambaran, kemudian bagaimana dengan persistent datanya? Again, kita "nyontek" struktur database milik SQL Server Provider.

    aspnetProviderSchema

    Tabel-tabel di atas tidak semuanya digunakan oleh Membership dan Role Provider, tabel di atas adalah tabel keseluruhan dari ASP.NET 2.0 Provider. Ketika akan "mencontek" skema database tersebut, tentu saja tidak cukup dengan melihat skema di atas, kita perlu data lengkap dari skema tersebut. Query dari skema di atas dapat kita temukan di folder C:\Windows\Microsoft.NET\Framework\v2.0.50727 dengan filename yang berakhiran .sql. Dari query tersebut dapat kita buat versi Oracle nya. Contoh untuk tabel aspnet_Users dalam versi Oracle nya:

    ora_aspnet_users

    Provider sudah ada gambaran dan Persistent sudah siap, what next on part 2? Build an Oracle Provider and Provider Helper for Oracle.

    Share this post: | | | |
  • SQL Server error message no 1105 on hosting area

    Weekend ini saya habiskan untuk memindahkan 2 web applicationnya dari server hosting satu ke lainnya. Untuk memindahkan web application, yang paling crucial adalah memindahkan database, seperti yang sudah kita ketahui bahwa backup restore atau attach database di shared server bisa menimbulkan security thread karena semua object database yang di restore atau di attach akan ikut, termasuk role object.

    Maka dari itu setiap hoster biasanya hanya memperbolehkan user untuk melakukan SSIS atau execute query hasil dump database lain. Microsoft team sudah menyediakan tool buat user maupun hoster, silahkan cek di codeplex.

    OK, singkatnya setelah kita dump database menggunakan tool Database Publishing Wizard tersebut, langkah selanjutnya adalah run the query against database baru di server, hati-hati dengan query time out. Permasalahan muncul ketika running query tersebut, error message yang muncul adalah

    "Could not allocate space for object '%.*ls' in database '%.*ls' because the '%.*ls' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup."

    Lebih lengkapnya ada di http://msdn.microsoft.com/en-us/library/aa258767(SQL.80).aspx. Setelah saya cek fisik, ternyata database nya memang di cap hanya sebesar 50MB.

    space

    Limit database ini ada ketika database di create, mungkin menggunakan SMO, dengan melihat kapasitas hosting yang dipilih. Disini package nya adalah 50 MB, so database yang di create juga sebesar itu pula.

    Bisa diambil kesimpulan ketika akan melakukan dump database ke database yang baru, pastikan unrestricted file growth jika file database anda besar, contact your administrator to ensure that.

    Share this post: | | | |