דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. אקסס מבוסס SQL

אקסס מבוסס SQL

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 5 כותבים 383 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי dovid
    #4

    א. תאמין לי יותר מפחיד הרעיון שלך. באקסס זה פשוט, בSQL SERVER זה ממש לא.
    ב. זה סתם ככה סיפור התחברות מרחוק, חשבתי שזה זמין כי הצעת את זה, אבל אם לא זה מחייב המון הכנות, IP פרטי, הפניית פורטים, הגדרת המסד. לא יודע מה עדיף לך.

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    yossizY תגובה 1 תגובה אחרונה
    1
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לdovid ב נערך לאחרונה על ידי yossiz
      #5

      @dovid כתב באקסס מבוסס SQL:

      א. תאמין לי יותר מפחיד הרעיון שלך. באקסס זה פשוט, בSQL SERVER זה ממש לא.

      בלי נסיון בשטח, אני לא מבין מה כל כך מפחיד? יש גיבוי ושיחזור מגיבוי ככה אמור להיות קל להעתיק את המבנה (+התוכן, אבל זה לכאורה לא חשוב לך) של מסד הנתונים למחשב הלוקלי, לעשות עליו ניסויים ואז אחרי שיש לך ביטחון מלא שה-SQL שלך טוב ונכון אפשר להריץ אותו על השרת החי

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      1
      • OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        השיב לדוד החדש ב נערך לאחרונה על ידי OdedDvir
        #6

        @דוד-החדש כתב באקסס מבוסס SQL:

        אבל אני קצת מפחד לעשות שינויים על חי במסד פעיל

        הפחד שלך מוצדק לחלוטין. יש לי כמה סיפורים מסמרי שיער בנושא...

        א. הנוהל הנכון הוא להקים סביבת טסט, כלומר לשכפל את מסד הנתונים הקיים ל-db נוסף (אפשרי על אותו השרת), וכן ליצור עותק של ה-frontend של אקסס ולקשר אותו ל-db של הטסט. זה יוצר סביבת טסט מלאה ואוטונומית מהייצור לחלוטין, ומאפשר לך לבצע שינויים כרצונך שם, הן ב-backend והן ב-frontend, ורק לאחר בדיקת שפיות - אתה מעביר את השינויים לסביבה שבייצור.
        למעשה אתה הצעת משהו דומה, ליצור סביבת פיתוח לוקאלית אצלך, ולא אצל הלקוח. וכך באמת נוהגים בעולם האמיתי: מקימים (לפחות) 3 סביבות: פיתוח, טסט וייצור.

        ב. לעולם אין להעביר את הדאטא מהטסט לייצור, וכ"ש מסביבת הפיתוח, רק את השינויים בסכמה (מבנה הטבלאות, stored procedures וכו') או מטא-דאטא כגון טבלאות ערכים (ValueSets) שמתארות את הנתונים. למשל סוג לקוח:

        Id Description
        1 Admin
        2 User
        דוד החדשד תגובה 1 תגובה אחרונה
        3
        • דוד החדשד מנותק
          דוד החדשד מנותק
          דוד החדש
          השיב לOdedDvir ב נערך לאחרונה על ידי
          #7

          @OdedDvir כתב באקסס מבוסס SQL:

          ב. לעולם אין להעביר את הדאטא מהטסט לייצור, וכ"ש מסביבת הפיתוח, רק את השינויים בסכמה (מבנה הטבלאות, stored procedures וכו')

          זה באמת מה שאני חשבתי ליצור למסד המקורי קובץ גיבוי ואז לשחזר אותו אצלי ולעבוד עליו ואז להחזיר אותו.
          השאלה איך אני מעתיק את המבנה שלו למסד המקורי בלי לפגוע בנתונים הקיימים. (השינויים במבנה הם רק הוספות של עמודות וטבלאות, לא מחיקה ושינוי עמודות קיימות).

          אגב, לדעתי הבעלים של זה לא יודע את פרטי הכניסה של ה-SERVER שלו כי הוא עובד ישירות על אקסס, יש דרך לדעת את זה או דרך להעתיק את המסד בצורה אחרת?

          dovidD תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            השיב לדוד החדש ב נערך לאחרונה על ידי dovid
            #8

            @דוד-החדש כתב באקסס מבוסס SQL:

            השאלה איך אני מעתיק את המבנה שלו למסד המקורי בלי לפגוע בנתונים הקיימים. (השינויים במבנה הם רק הוספות של עמודות וטבלאות, לא מחיקה ושינוי עמודות קיימות).

            במקרים פשוטים, אתה פשוט חוזר על הצעדים בדיוק.
            @OdedDvir וכנראה גם @yossiz כנראה תיארו לעצמם שתכתוב משפטי SQL ותשנה צעד אחד צעד בDB של הפיתוח, אח"כ אתה מריץ את כל משפטי הSQL הללו בDB של היייצור.
            אני כפי ששמתי לב אמרתי אחרת שתעבוד ישירות על המסד, אבל אני לא יודע מה יהיה יותר קל לך כי כל אפשרות פה כרוכה באתגרים.

            בקשר לסיסמה, דבר ראשון אם תפעל לפי ההנחיות של חברי לא תצטרך שום סיסמה.
            SQL SERVER בד"כ יש בברירת מחדל אימות Windows, שזה אומר שכשאתה מתחבר מהמשתמש המנהל במחשב אתה מנהל בלי שום סיסמה. בשביל להתחבר מרחוק צריך לאפשר חיבור מרוחק וגם ליצור משתמש SQL מסוג רגיל, ולתת לו סיסמה חדשה.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            דוד החדשד תגובה 1 תגובה אחרונה
            1
            • דוד החדשד מנותק
              דוד החדשד מנותק
              דוד החדש
              השיב לdovid ב נערך לאחרונה על ידי
              #9

              @dovid כתב באקסס מבוסס SQL:

              במקרים פשוטים, אתה פשוט חוזר על הצעדים בדיוק.
              @OdedDvir וכנראה גם @yossiz כנראה תיארו לעצמם שתכתוב משפטי SQL ותשנה צעד אחד צעד בDB של הפיתוח, אח"כ אתה מריץ את כל משפטי הSQL הללו בDB של היייצור.

              אתה מתכוין פשוט לרשום לי את כל השינויים שאני עושה ואז להעתיק אותם אחד אחד למקורי (לא נראה לי שאני אעשה מידי הרבה שינויים אבל עדיין תמיד יש אפשרות לשכוח פרטים מסויימים).

              @dovid כתב באקסס מבוסס SQL:

              SQL SERVER בד"כ יש בברירת מחדל אימות Windows, שזה אומר שכשאתה מתחבר מהמשתמש המנהל במחשב אתה מנהל בלי שום סיסמה. בשביל להתחבר מרחוק צריך לאפשר חיבור מרוחק וגם ליצור משתמש SQL מסוג רגיל, ולתת לו סיסמה חדשה.

              זאת אומרת שכשאני הולך להעתיק מהמקום ההוא את הקובץ אקסס ואת המסד העורפי אני צריך להיכנס למחשב שם ולהוסיף עוד משתמש שלי עם סיסמה. ואז זה פשוט להיכנס מרחוק?

              OdedDvirO תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #10

                אכן, זה מה שאני חושב שהם התכוונו. יש כלים משוכללים שנקראים db migration או versioning אבל הם לא פשוטים.

                בקשר להתחברות מרחוק, זה מסובך. מצריך נושא בפני עצמו עם הרבה פרטים.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב לדוד החדש ב נערך לאחרונה על ידי OdedDvir
                  #11

                  @דוד-החדש כתב באקסס מבוסס SQL:

                  אתה מתכוין פשוט לרשום לי את כל השינויים שאני עושה ואז להעתיק אותם אחד אחד למקורי (לא נראה לי שאני אעשה מידי הרבה שינויים אבל עדיין תמיד יש אפשרות לשכוח פרטים מסויימים).

                  אכן התכוונתי לכך.
                  אתה צריך לזכור שלמרות שלפעמים יש צורך אמיתי בכך, לשנות סכמה של מסד נתונים קיים זה תמיד תהליך יותר מורכב ומסוכן מאשר לעצב אותו נכון מהתחלה.
                  עם הניסיון שתצבור, הצורך הזה אמור להיות יותר ויותר נדיר.

                  אגב, אם יש לך אפשרות להתחבר ישירות לשרת ה-SQL של הלקוח מהמחשב שלך, ולא רק דרך RDP, ל-VS יש כלים שיכולים לעזור לך לנהל גרסאות של SQL, להשוות סכמות של שני db, ליצור script של כל השינויים הנדרשים, ולהריץ אותו על ה-db הרצוי.

                  לגבי הסיסמה ל-SQL, ניתן בקלות לשלוף אותה מתוך האקסס, וזהו, אגב, אחד מהחסרונות של האריכטקטורה הזו. פשוט תריץ את השאילתא הבאה:

                  SELECT Connect FROM MSysObjects WHERE Type=4
                  
                  דוד החדשד תגובה 1 תגובה אחרונה
                  2
                  • דוד החדשד מנותק
                    דוד החדשד מנותק
                    דוד החדש
                    השיב לOdedDvir ב נערך לאחרונה על ידי
                    #12

                    @OdedDvir כתב באקסס מבוסס SQL:

                    SELECTConnectFROM MSysObjects WHERE Type=6

                    אני לא מצליח להריץ את הקוד. כותבים אותו בשאילתה רגילה באקסס?

                    @OdedDvir כתב באקסס מבוסס SQL:

                    אגב, אם יש לך אפשרות להתחבר ישירות לשרת ה-SQL של הלקוח מהמחשב שלך, ולא רק דרך RDP, ל-VS יש כלים שיכולים לעזור לך לנהל גרסאות של SQL, להשוות סכמות של שני db, ליצור script של כל השינויים הנדרשים, ולהריץ אותו על ה-db הרצוי.

                    איך אני יכול לדעת את זה מראש לפני שאני מגיע אליו להעתיק את הכל?
                    אני כרגע משתמש ב-SSMS ומחובר לSERVER שנמצא על המחשב שלי ולא ברשת. בשביל להתחבר לשרת מרוחק צריך יותר מאשר להזין בפרטי הכניסה את שם ה-SERVER והסיסמה?

                    M OdedDvirO 2 תגובות תגובה אחרונה
                    0
                    • M מנותק
                      M מנותק
                      mekev
                      השיב לדוד החדש ב נערך לאחרונה על ידי mekev
                      #13
                      פוסט זה נמחק!
                      תגובה 1 תגובה אחרונה
                      0
                      • OdedDvirO מנותק
                        OdedDvirO מנותק
                        OdedDvir
                        השיב לדוד החדש ב נערך לאחרונה על ידי
                        #14

                        @דוד-החדש כתב באקסס מבוסס SQL:

                        אני לא מצליח להריץ את הקוד. כותבים אותו בשאילתה רגילה באקסס?

                        כן.

                        איך אני יכול לדעת את זה מראש לפני שאני מגיע אליו להעתיק את הכל?

                        הלקוח שלך אמור לדעת את זה, זה חלק מהגדרות שרת ה-SQL שלו. תוכל גם לבדוק האם אתה יכול להריץ את האקסס מתוך המחשב שלך ולהתחבר לנתונים שלו.

                        M תגובה 1 תגובה אחרונה
                        0
                        • M מנותק
                          M מנותק
                          mekev
                          השיב לOdedDvir ב נערך לאחרונה על ידי
                          #15

                          @OdedDvir
                          ניסיתי אצלי בגרסת 2019
                          השאילתא כולל התנאי לא מחזירה תוצאה

                          ובלי משפט התנאי
                          מחזירה רק את המחרוזת חיבור
                          ללא השם משתמש והסיסמא

                          OdedDvirO תגובה 1 תגובה אחרונה
                          0
                          • OdedDvirO מנותק
                            OdedDvirO מנותק
                            OdedDvir
                            השיב לmekev ב נערך לאחרונה על ידי OdedDvir
                            #16

                            @mekev כתב באקסס מבוסס SQL:

                            השאילתא כולל התנאי לא מחזירה תוצאה

                            אתה צודק, זו היתה טעות שלי. הערך 6 בשדה Type מציין טבלה מקושרת בבסיס נתונים אקסס או אקסל (והשדה יציג את הסיסמה אליו...).
                            עבור טבלאות מקושרות השוכנות בבסיס של SQL הערך של Type שווה ל-4.
                            כך:

                            SELECT Connect FROM MSysObjects WHERE Type=4
                            

                            שיניתי גם במקור.
                            ולעצם העניין, אם יש לך Connection-String - היא אמורה להכיל כל פרטי ההתחברות כולל את הסיסמה.

                            תגובה 1 תגובה אחרונה
                            0

                            בא תתחבר לדף היומי!
                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

                            • התחברו או הירשמו כדי לחפש.
                            • פוסט ראשון
                              פוסט אחרון
                            0
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום