نمایش نتایج 1 تا 17 از 17

نام تاپیک: درباره back-end و front-end

  1. #1

    درباره back-end و front-end

    یک برنامه data base را میتوان در دو فایل mdb جدا کرد به نحوی که همه داده ها(tables) را بصورت back-end و اصل برنامه (queries, forms, reports, macros, modules, and shortcuts to data access pages) را به شکل Front-end ارائه کرد.

    برای این کار (split) باید جدولها را Relink کرد که توضیح روش انجام این کار توسط دوستان در نمونه پست 5 اینجا هست.

    حالا؛برای وضعیت محدود سازی سطح دسترسی (peremision) اشیا در FE را چکار باید کرد؟

    Private Sub Form_Load()

    On Error Resume Next

    ChangeTableDetails

    DoCmd.Close acForm, Me.FormName

    End Sub

    Public Function ChangeTableDetails()

    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Dim tdfLinked As DAO.TableDef

    Dim strGetCurrentLinkedPath As String
    Dim strGetCurrentLinkedTableName As String

    Dim intTableCounter As Integer
    Dim intNumberOfTables As Integer

    Const strBackendTargetDbPassword = ";PWD=plajsgbd"

    On Error GoTo ErrorDetected

    Set dbs = CurrentDb

    dbs.TableDefs.Refresh
    intNumberOfTables = dbs.TableDefs.Count

    For Each tdf In dbs.TableDefs

    If Nz(tdf.Connect, "") <> "" Then

    'Store current linked table details
    strGetCurrentLinkedTableName = tdf.Name
    strGetCurrentLinkedPath = tdf.Connect
    strGetCurrentLinkedPath = FindDatabasePathFr0mLinkedString(strGetCurrentLink edPath)

    'Delete current linked table
    DoCmd.DeleteObject acTable, tdf.Name

    'Rebuild linked table from stored data
    'Ensure the password is correct
    Set tdfLinked = dbs.CreateTableDef(strGetCurrentLinkedTableName)
    tdfLinked.Connect = strBackendTargetDbPassword & ";DATABASE=" & strGetCurrentLinkedPath
    tdfLinked.SourceTableName = strGetCurrentLinkedTableName
    dbs.TableDefs.Append tdfLinked

    End If

    intTableCounter = intTableCounter + 1

    If intNumberOfTables = intTableCounter Then

    GoTo ClearDownArrays

    End If

    Next

    Exit Function

    ErrorDetected:

    If Err.Number = 3031 Then

    MsgBox "The password supplied with the function (ChangeTableDetails) " & vbCrLf & "is incorrect for the Backend Db." & vbCrLf & vbCrLf & _
    "Please provide a valid password for Const 'strTargetDbPassword'", vbExclamation, "Invalid Password Set"

    Else

    MsgBox Err.Number & " - " & Err.Description, vbCritical, "Unexpected error detected, update aborted"

    End If

    ClearDownArrays:

    Set tdf = Nothing
    dbs.Close
    Set dbs = Nothing

    End Function

    Public Function FindDatabasePathFr0mLinkedString(GetLinkedString As String) As String

    Dim intStartPosition As Integer
    Dim intEndPosition As Integer

    On Error Resume Next

    intStartPosition = InStr(1, GetLinkedString, "Database=") + 9
    intEndPosition = InStr(1, GetLinkedString, ".mdb") + 4
    FindDatabasePathFr0mLinkedString = MID(GetLinkedString, intStartPosition, intEndPosition)


    لطفاً نظرتان را بفرمائید.


  2. #2
    کاربر دائمی آواتار شاپرک
    تاریخ عضویت
    بهمن 1383
    محل زندگی
    ناکجاآباد
    پست
    1,157
    لطفا یک نمونه برنامه بذارید .

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    819
    با اجازه یه توضیح جزئی :
    tools/database utilities/data base splitter

    کاربرد اون تو شبکه است تا از دستکاری اشیاءو امپورت و اکسپورت اطلاعات مصون ماند

  4. #4
    نقل قول نوشته شده توسط moustafa مشاهده تاپیک
    با اجازه یه توضیح جزئی :
    tools/database utilities/data base splitter

    کاربرد اون تو شبکه است تا از دستکاری اشیاءو امپورت و اکسپورت اطلاعات مصون ماند
    از توضیح زیر که از این لینک است چه نتیجه میگیرید؟

    Securing an Application with a Split Program Database and Data Database
    You have written an application using a split front-end/back-end architecture. Your data is stored in Data.mdb, and your code, forms, reports, and so forth are in Program.mdb, along with attached tables pointing to tables in Data.mdb. You want to secure both databases and distribute them to your users. When they install Program.mdb, you want them to be able to re-attach the tables in Data.mdb, based on the network share name on which they will keep Data.mdb, and you don't necessarily know the name of this share when it comes time to secure your application

  5. #5
    نقل قول نوشته شده توسط moustafa مشاهده تاپیک
    با اجازه یه توضیح جزئی :
    tools/database utilities/data base splitter

    کاربرد اون تو شبکه است تا از دستکاری اشیاءو امپورت و اکسپورت اطلاعات مصون ماند
    ولی متاسفانه حتی از طریق اسپلیتر هم جداول اکسپورت و امپورت میشن

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    819
    من در این زمینه کار نکردم نمی تونم اظهار نظر کنم ولی در اون "پست زمینه " که شامل جداول نیست کاربر چطوری می تونه اطلاعات تیبلها رو امپورت یا اکسپورت کنه ؟
    "صفحه 523 کتاب راهنمای پیتر نورتن برای برنامه نویسی Access2000

  7. #7
    نقل قول نوشته شده توسط moustafa مشاهده تاپیک
    در اون "پست زمینه " که شامل جداول نیست کاربر چطوری می تونه اطلاعات تیبلها رو امپورت یا اکسپورت کنه ؟
    اگر ممکن است بیشتر توضیح بدهید.
    منظور شما این است که اطلاعاتی که در تیبلهای BE هست و رلینک هستند را نمیتوان امپورت کرد؟
    یا ...؟

  8. #8
    میتونه از روی لینک تیبل لینک بسازه
    یعنی اگه برای امنیت دارید اسپلیتش میکنید فایده نداره
    فرض:
    فایلی که پس از اسپلیت جداول در آن قرار دارند پسورد داره و فقط اون یکی فایل میتونه بهش وصل شه چون پسورد رو یوزر نداره و فقط برای برنامه تعریف کردیم پس ایمپورت کردن جداول ازروی فایل اول امکان پذیر نیست
    ولی فایل دوم دارای لینک تیبل میباشد که از روی اونها بدون هیچ مشکلی میتوان یک لینک تیبل دیگه ساخت و به تمام داده های جدول دسترسی پیدا کرد

  9. #9
    کاربر دائمی آواتار mohammadgij
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران-اهواز-شهرک نفت
    سن
    37
    پست
    441
    خب در اکسس معمولی WorkGroup رو برای همین ساختن. شما میتونید دسترسی به کاربر ها رو فقط برای مثلا Select بدید

  10. #10
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    819
    فایل اول در اختیار کاربران عادی در یک محیط چند کاربر قرار میگیره که نتونند امپورت کنند
    فایل دوم در اختیار مدیر سیستم

  11. #11
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    819
    استنباط من از صفحه 521 کتاب راهنمای پیترنورتن برای برنامه نویسی Access
    در یک محیط چند کاربره با مزیتهای زیر:
    1-کاهش بار ترافیک شبکه و افزایش سرعت و کارائی آن
    مثلا فرمهای ازاد ،منوها ،کادرهای تبادل که در pc کاربران نگهداری میشه سریعتر بار گذاری میشه
    2- مجزا نگه داشتن جداول و اجزای وسط کاربر در دو مکان متفاوت باعث میشه که هرگونه تغییر در فرمها وگزارشات فقط در pc کاربر به سادگی و به سرعت انجام گیرد
    فرض کنید در یک محیط ده کاربره با یه جدول شامل 200 هزار رکورد اگه یه فرم تغیر کنه در حالت عادی باید برای هر ده کاربر اطلاعات 200 هزار رکورد را امپورت و تغییرات رو اعمال کرد
    در حالت splitفقط فرمها بسرعت جایگزین میشند
    3-هر یک از کاربران می توانند پس زمینه مخصوص بخود رو داشته باشند کارمندان بخش فروش مستقل از خرید فقط به فرمها ،اطلاعات و گزارشات مخصوص بخود دسترسی داشته باشند به این طریق امنیت برنامه بالا میره وچنانچه کاربری یا .... بخواد از برنامه کپی برداری کن فقط به یه تکه ناقص و محدود دستیابی می کنه

  12. #12
    کاربر دائمی آواتار mohammadgij
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران-اهواز-شهرک نفت
    سن
    37
    پست
    441
    ولی من با توجه به اینکه از این خصوصیت در اکسس معمولی بسیار استفاده کردم باید بگم که به راحتی و با استفاده از جداول لینک شده به فایل دارای پسورد میشه به اطلاعات دسترسی پیدا کرد با ایمپورت کردن لینک جداول در یک فایل جدید. به راحتی هم لینک ها ایمپورت میشن و در فایل جدید لینک میشن به جداول اسپلیت شده

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    هر کجا هستم باشم آسمان مال من است پنجره -فکر- هوا- عشق- زمین مال من است.
    پست
    819
    محمد جان توشبکه چی ؟ گفته های بالا صحت داره ؟

  14. #14
    نقل قول نوشته شده توسط mohammadgij مشاهده تاپیک
    ولی من با توجه به اینکه از این خصوصیت در اکسس معمولی بسیار استفاده کردم باید بگم که به راحتی و با استفاده از جداول لینک شده به فایل دارای پسورد میشه به اطلاعات دسترسی پیدا کرد با ایمپورت کردن لینک جداول در یک فایل جدید. به راحتی هم لینک ها ایمپورت میشن و در فایل جدید لینک میشن به جداول اسپلیت شده
    منم به خدا همین هارو گفتم

  15. #15
    کاربر دائمی آواتار mohammadgij
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران-اهواز-شهرک نفت
    سن
    37
    پست
    441
    البته شما توی شبکه قابلیت تعریف دسترسی رو هم توی شبکه دارین ولی خب همون کاربرانی که توی شبکه اجازه دسترسی دارن میتونن این کار رو انجام بدن. البته شما وقتی که روی بانک اسپلیت شده شامل جداولتون از طریق WorkGroup تعیین سطح دسترسی بکنید و در ضمن بر روی فابل هایی که برای Clientها نصب میکنید که شامل فرم ها ، جداول لینک شده و ............ هست هم میتونید از طریق WorkGroup پسورد بزارید و تعیین سطح دسترسی کنید. و اگر برنامتون رو MDE کنید و فرم StartUp داشته باشید و دکمه خروج برنامتون حتما Quit کنه. امکان اینکه بتونه به محیط جداول دسترسی پیدا کنه تقریبا صفره مگر اینکه پسوردهای WorkGroup رو پیدا کنه و یا MDE رو بتونه با نرم افزار خاصی ریسورس کنه.

  16. #16
    نقل قول نوشته شده توسط mohammadgij مشاهده تاپیک
    البته شما توی شبکه قابلیت تعریف دسترسی رو هم توی شبکه دارین ولی خب همون کاربرانی که توی شبکه اجازه دسترسی دارن میتونن این کار رو انجام بدن. البته شما وقتی که روی بانک اسپلیت شده شامل جداولتون از طریق WorkGroup تعیین سطح دسترسی بکنید و در ضمن بر روی فابل هایی که برای Clientها نصب میکنید که شامل فرم ها ، جداول لینک شده و ............ هست هم میتونید از طریق WorkGroup پسورد بزارید و تعیین سطح دسترسی کنید. و اگر برنامتون رو MDE کنید و فرم StartUp داشته باشید و دکمه خروج برنامتون حتما Quit کنه. امکان اینکه بتونه به محیط جداول دسترسی پیدا کنه تقریبا صفره مگر اینکه پسوردهای WorkGroup رو پیدا کنه و یا MDE رو بتونه با نرم افزار خاصی ریسورس کنه.
    جنابmohammadgij
    جایی دیدم که کسی گفته بود که پسوردهای WorkGroup را هم باید همراه فایل MDE (دقیقاً فایلی با همین شرایط بالا) به clint ببری. درست گفته؟ یا لازم نیست؟

  17. #17
    کاربر دائمی آواتار mohammadgij
    تاریخ عضویت
    آبان 1382
    محل زندگی
    ایران-اهواز-شهرک نفت
    سن
    37
    پست
    441
    من فکر میکنم که درست گفته . چون اکه MDB بذاری خیلی راحت میشه Startup رو غیر فعال کرد و به راحتی به جداول و اطالاعات دسترسی پیدا کرد و تازه اگر به محیط اکسس دسترسی پیدا کنه از داخل همون بانک اگر یک MِDB جدید بسازه می تونه تمام آبجکت ها رو Importکنه توی برنامه جدید و نام برنامه رو هم تغییر بده و بذاره جای برنامه ای که دارای سطح دسترسی و پسورده و میتونه اینکار رو با خود جداول اسپلیت شده هم بکنه و جداول هم قابل دسترس میشن بران همه و .........
    پس MDE کردن بسیار بهتر از MDB بودن هست و حتما بستن Shift و داشتن فرم StartUp لازم است

تاپیک های مشابه

  1. یک سوال از front page
    نوشته شده توسط ehsan_2000 در بخش طراحی وب (Web Design)
    پاسخ: 2
    آخرین پست: سه شنبه 27 آذر 1386, 12:26 عصر
  2. سوال در مورد Front Page
    نوشته شده توسط MicRo_Programmer در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: پنج شنبه 12 بهمن 1385, 07:09 صبح
  3. استفاده از Front Page در ASP.NET
    نوشته شده توسط Boo Ali در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 07 اردیبهشت 1385, 00:30 صبح
  4. asp.net+front page
    نوشته شده توسط rohollahmahmoodiany در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: شنبه 20 فروردین 1384, 12:36 عصر
  5. MySQL-Front 3.2
    نوشته شده توسط A-Nassaji در بخش PHP
    پاسخ: 0
    آخرین پست: دوشنبه 05 بهمن 1383, 19:50 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •