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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ODBC (RUST & ms ACCESS \ SQL server)

ODBC (RUST & ms ACCESS \ SQL server)

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 3 כותבים 488 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Y.Excel.AccessY מנותק
    Y.Excel.AccessY מנותק
    Y.Excel.Access
    כתב ב נערך לאחרונה על ידי Y.Excel.Access
    #1

    איך להתחבר ל ODBC?

    אני רוצה להתחבר אליו מקוד RUST באמצעות הספריה הזו odbc_api

    כך שאני אמור למלא כאן נכונה את השדות:

    let mut connection = environment.connect(
            "DataSourceName",
            "Username",
            "Password",
            ConnectionOptions::default(),
        )?;
    

    אך אני לא מכיר את ODBC ולא יודע מה אני אמור למלא.
    לכאו' צריך קודם לחבר את MS ACCESS ל ODBC או לצפות בחיבור כדי לדעת מה הסיסמה וכו', אך לא הבנתי איך אני מחבר את המסד נתונים ל ODBC.

    ב'התחל' חיפשתי ODBC והגעתי למסך כזה
    b687983d-6bdb-4300-a6f3-aaa3ca292324-image.png

    ולאחר מכן לא הצלחתי להמשיך.

    תודה רבה!

    Y.Excel.Access @ gmail.com

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לY.Excel.Access ב נערך לאחרונה על ידי yossiz
      #2

      @Y-Excel-Access דוגמת הקוד שהבאת הוא עבור התחברות בשיטת DSN

      נראה לי שיותר מומלץ לך להתחבר בשיטת connection string.
      עיין כאן: https://www.connectionstrings.com/access לתיעוד על פורמט המחרוזת עבור קבצי אקסס

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

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

        בקיצור נמרץ:

        1. לחץ על התחל, ותרשום ODBC, ובחר בקידוד הסיביות הנכון 64 או 32 ביט
          תמונה.png
        2. שים לב שעליך להגדיר את החיבור בלשונית הנכונה: User DSN יהיה פעיל רק עבור המשתמש המחובר, ואילו System DSN יוגדר עבור כל המשתמשים
        3. לחץ על Add > Microsoft Access Driver < Finish
        4. בחלונית שנפתחה, תן שם לחיבור. שם זה ישמש אותך אח"כ להתחברות.
        5. לחץ על בחירה... ונווט למיקום של קובץ הנתונים של אקסס.
          7f9bcbf8-051b-4c26-be8f-6769b17a3fff-תמונה.png
        תגובה 1 תגובה אחרונה
        4
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב לyossiz ב נערך לאחרונה על ידי
          #4

          @yossiz כתב בODBC (RUST & ms ACCESS \ SQL server):

          נראה לי שיותר מומלץ לך להתחבר בשיטת connection string.

          אני נתקלתי בבעיות עם זה בקבצים חדשים של אקסס accdb. עם הקבצים היישנים mdb אין בעיה.
          מלבד זאת, ב-odbc יש יתרון שאפשר להפעיל לוגים של פעולות ושגיאות.

          תגובה 1 תגובה אחרונה
          2
          • Y.Excel.AccessY מנותק
            Y.Excel.AccessY מנותק
            Y.Excel.Access
            כתב ב נערך לאחרונה על ידי
            #5

            תודה רבה.

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

            על ההצעה הראשונה של @yossiz עולה לי שגיאה כזו:

            Error: Diagnostics { record: State: IM002, Native error: 0, Message: [Microsoft][ODBC Driver Manager] Data source name not 
            found and no default driver specified, function: "SQLDriverConnect" }
            error: process didn't exit successfully: `target\debug\ms_access.exe` (exit code: 1)
            

            והקוד שלי:

            let connected = env.connect_with_connection_string(
                r"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\{{{my_name_user}}}\projects\rust\ms_access\access.accdb;Persist Security Info=False;"
            ,ConnectionOptions::default())?;
            

            (החיבור הוא ל ACCESS 2010 ללא סיסמה, וכפי הדוגמא המובאת שם).

            ועל הפתרון שהציע @OdedDvir זה מביא לי הודעת שגיאה:

            Error: Diagnostics { record: State: IM014, Native error: 0, Message: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application, function: "SQLConnect" }
            error: process didn't exit successfully: `target\debug\ms_access.exe` (exit code: 1)
            

            (כלומר שלא הזנתי בכלל טוב...)
            הקוד שלי:

            let connected = env.connect(
                    "my_access", "ny_name_user", "",
                    ConnectionOptions::default()
             )?;
            

            לא הבנתי מה אני אמור להזין בכל שדה. הרי אין לי שום סיסמא, ואת שם המשתמש של המחשב כתבתי, אם כן מה חסר?

            ושוב תודה רבה!

            Y.Excel.Access @ gmail.com

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

              @Y-Excel-Access מנוסח השגיאה שהבאת נראה שיש חוסר התאמה בין הארכיטקטורות שבהן אתה משתמש, כנראה חוסר תאימות של גרסאות 64/32 ביט.
              אתה צריך להגדיר חיבור ODBC באותה גרסת סיביות שבה אתה משתמש ב Rust toolchain

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

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

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

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