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

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

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

עזרה בחיבור למסד נתונים בדוקר

מתוזמן נעוץ נעול הועבר תכנות
31 פוסטים 4 כותבים 535 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • שואףש מנותק
    שואףש מנותק
    שואף
    כתב ב נערך לאחרונה על ידי
    #1

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

    בזבזתי על זה ימים שלמים, ובסופו של דבר בודדתי את החלק הבעייתי והעלתי לגיטהאב, אם מישהו יוכל להסתכל לראות אם מזהה את הבעייה.

    הקוד המלא נמצא כאן, אפשר להתקין את זה על שרת שמותקן בו דוקר, לוקח דקה וחצי התקנה ואפשר למחוק מיד אחרי זה.
    https://github.com/showf68/odbcExample

    מצאתי מישהו ששאל את זה בסטאק, אני מבין שהוא אומר שיש בעייה בלינק של הדיפנדנס, אבל לא הבנתי איך לתקן את זה.
    עיין כאן https://unix.stackexchange.com/questions/516936/unixodbc-cannot-load-libmaodbc-so

    תודה מראש אם למישהו יהיה סבלנות לנסות לעזור.

    ליצירת קשר: admin@i-call.me

    הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

      @שואף אמר בעזרה בחיבור למסד נתונים בדוקר:

      בודדתי את החלק הבעייתי והעלתי לגיטהאב

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

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

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

        @yossiz אני דוקא לא מסכים, השאלה מצויינת אבל לא אידאלית.

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

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

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

          @dovid אמר בעזרה בחיבור למסד נתונים בדוקר:

          @yossiz אני דוקא לא מסכים, השאלה מצויינת אבל לא אידאלית.

          אפשר תרגום לצרפתית מדוברת?

          ליצירת קשר: admin@i-call.me

          הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

            @שואף יש פה טיפה אלמנט של "בא תפתרו את זה, נמאס לי לנסות לקלוט מה קורה שמה".
            בעצם כל הסיפור רקע הוא ארוך, יש פה תמונת דוקר, מבוססת alpine:latest, שאתה לא מצליח להתקין בה odbc. זה השאלה לטעמי.

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

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

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

              לגוף השאלה (ואני לא ניסיתי להריץ, מחילה)
              אני חושב שיש להוסיף RUN apk update
              לפני התקנת החבילות (apk add)
              ולהסיר את כל הוספת הקבצים הידניות למעט הinit.sh שאני מבין שזה דברים אישיים שלך.

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

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

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

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

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

                ליצירת קשר: admin@i-call.me

                הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

                  @שואף אחד הדברים הראשונים שאני דורש משואל, היא בידוד הבעיה.
                  צור dockerfile פשוט, והדבק שמה את הקוד הבא:

                  FROM alpine:latest
                  
                  RUN apk add \
                      unixodbc \
                      mysql-client
                  
                  
                  RUN isql -v MySQL-main
                  

                  השגיאה מופיעה? כנראה שכן. אז זה כל השאלה.

                  @שואף אמר בעזרה בחיבור למסד נתונים בדוקר:

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

                  "קבצים נחוצים" מגיעים ע"י התקנת חבילה.
                  אם הUPDATE נצרך או לא אני לא יכול לקבוע, אני רואה פה שכן
                  https://stackoverflow.com/questions/51888064/install-odbc-driver-in-alpine-linux-docker-container
                  אני לצערי לא יכול לנסות כי הוירטואליזציה אצלי לא מופעלת בביוס.

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

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

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

                    @dovid כנראה לא דייקת בהצעה שלך.
                    כל הרעיון של הODBC הוא שיש דרייבר שנותן את הגישה למסד נתונים.
                    חייב הקבצים של הINI שצירפתי.
                    כתבת לעשות מיד RUN לפקודה ISQL אבל איך הוא ידע מה זה החיבור שנקרא MySQL-main
                    תאמין לי שלא פרסמתי את השאלה עד שהייתי בטוח שאין שורה אחת מיותרת בפרויקט

                    ליצירת קשר: admin@i-call.me

                    הידד! גישה למייל גם בלי מחשב ואינטרנט!

                    dovidD yossizY 2 תגובות תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לשואף ב נערך לאחרונה על ידי dovid
                      #10

                      @שואף כל הרעיון של מנהל חבילות הוא שבחיים לא תעתיק קבצים. לא הבנתי למה המקרה הזה יוצא מן הכלל.
                      לגבי השגיאה של העדר חיבור MySQL-main, אם תתקבל כזו שגיאה זה יהיה לכאורה סימן שהodbc עובד.
                      הכי פשוט שתנסה...

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

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

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

                        @שואף תבדוק שקובץ ה-so שאתה מעתיק למכונה מתאים למעבד של המכונה. אם המכונה הוא ARM אז צריך קובץ מתאים.

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

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

                          @dovid עשיתי כדבריך, והנה השגיאה. הוא לא מכיר את החיבור הזה.

                          [ISQL]ERROR: Could not SQLConnect
                          [IM002][unixODBC][Driver Manager]Data source name not found and no default driver specified
                          

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

                          @yossiz יש לך רעיון איך אני יכול לבדוק איך זה מתאים?

                          ליצירת קשר: admin@i-call.me

                          הידד! גישה למייל גם בלי מחשב ואינטרנט!

                          yossizY dovidD 2 תגובות תגובה אחרונה
                          0
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לשואף ב נערך לאחרונה על ידי
                            #13

                            @שואף
                            הארכיטקטורה של ה-VPS ככה: uname -p. של הקובץ: file files/libmaodbc.so

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

                            תגובה 1 תגובה אחרונה
                            2
                            • yossizY מנותק
                              yossizY מנותק
                              yossiz
                              כתב ב נערך לאחרונה על ידי
                              #14

                              @שואף תתעלם מהדברים שלי למעלה... התקנתי עכשיו על VPS עם מעבד מתאים ולא עזר

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

                              תגובה 1 תגובה אחרונה
                              2
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                כתב ב נערך לאחרונה על ידי yossiz
                                #15

                                הפתרון הכי פשוט הוא להתשמש בהפצה שנותנת את הדרייבר של odbc עבור mariadb כחבילה ולא תצטרך להעתיק קבצים שלא מתאימים.
                                (אגב, יש ל-alpine חבילה כזו בערוץ ה-testing אבל גם שם נתקלתי באותה בעיה... אפשר לראות יותר פרטים על ידי הרצת הפקודה ldd מתוך מכונת הדוקר על קובץ ה-so ככה: ldd /usr/lib/libmaodbc.so הפלט:
                                Error relocating /usr/lib/libmaodbc.so: compress: Symbol not found.)
                                פתרון נוסף הוא לקמפל את הקובץ בעצמך מהמקור עם ההגדרות הנכונות. מאיפה השגת את הקובץ הזה?

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

                                שואףש תגובה 1 תגובה אחרונה
                                4
                                • שואףש מנותק
                                  שואףש מנותק
                                  שואף
                                  השיב לyossiz ב נערך לאחרונה על ידי
                                  #16

                                  @yossiz לגבי ההצעה שלך, זה כמובן הפיתרון המושלם, אבל שים לב שאני צריך את הדרייבר על הקונטיינר הראשון, בו יש את האפליקציה שלי, לא על הקונטיינר שיש בו את השרת SQL. אז זה לא רלוונטי.
                                  ובאמת עשיתי בדיוק את זה, וככה השגתי את הדרייבר והעתקתי אותו אצלי.

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

                                  תודה על הטרחה!!

                                  ליצירת קשר: admin@i-call.me

                                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

                                    @שואף אמר בעזרה בחיבור למסד נתונים בדוקר:

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

                                    אז תדע לך סוד שאתה לא חייב להתבסס על alphin, אתה יכול להתבסס על אובונטו למשל.
                                    כעת אנחנו יודעים שהבעיה היא odbc + mariadb ולא סתם odbc. ממה ש@yossiz ניסה אנחנו גם יודעים שהבעיה לא קשורה לדוקר דוקא אלא כללית להפצת alphin. אז קדימה, שנה את הdockerfile ותבסס על תמונה של מערכת שונה.
                                    ואף פעם אתה לא אמור להעתיק קבצים שלא מכילים מידע אישי. בשביל זה יש מנהל חבילות (כן, גם להגדרות, ובפרט הגדרות תלויות חומרה וסביבה). מה שלא עובד עם חבילה מסודרת זה הרפתקאה שלא מתאימה לפשטות של דוקר.

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

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

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

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

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

                                      ליצירת קשר: admin@i-call.me

                                      הידד! גישה למייל גם בלי מחשב ואינטרנט!

                                      dovidD yossizY 2 תגובות תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב לשואף ב נערך לאחרונה על ידי dovid
                                        #19

                                        @שואף מחולק ודאי, בדוקר תעבוד כמו בדוקר.
                                        אם זה עבד טוב כשזה ביחד ולא כשזה בחוץ זה אומר שהוא מתחבר אחרת כשהחיבור מרוחק או מקומי.
                                        אם הייתי שם לב לפרט הזה הייתי שולל בעיה בכלל בodbc, וגם אין בעיה בmariadb.

                                        כשזה היה יחד, השתמשת גם בalias שמוגדר בקובץ כמו פה:
                                        https://github.com/showf68/odbcExample/blob/master/files/odbc.ini
                                        ?
                                        ואז במקום maindb היה localhost?

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

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

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

                                          @dovid אמר בעזרה בחיבור למסד נתונים בדוקר:

                                          כשזה היה יחד, השתמשת גם בalias שמוגדר בקובץ כמו פה:
                                          https://github.com/showf68/odbcExample/blob/master/files/odbc.ini
                                          ?
                                          ואז במקום maindb היה localhost?

                                          נכון

                                          ליצירת קשר: admin@i-call.me

                                          הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

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

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

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