ODBC (RUST & ms ACCESS \ SQL server)
-
איך להתחבר ל ODBC?
אני רוצה להתחבר אליו מקוד RUST באמצעות הספריה הזו odbc_api
כך שאני אמור למלא כאן נכונה את השדות:
let mut connection = environment.connect( "DataSourceName", "Username", "Password", ConnectionOptions::default(), )?;אך אני לא מכיר את ODBC ולא יודע מה אני אמור למלא.
לכאו' צריך קודם לחבר את MS ACCESS ל ODBC או לצפות בחיבור כדי לדעת מה הסיסמה וכו', אך לא הבנתי איך אני מחבר את המסד נתונים ל ODBC.ב'התחל' חיפשתי ODBC והגעתי למסך כזה

ולאחר מכן לא הצלחתי להמשיך.
תודה רבה!
-
איך להתחבר ל ODBC?
אני רוצה להתחבר אליו מקוד RUST באמצעות הספריה הזו odbc_api
כך שאני אמור למלא כאן נכונה את השדות:
let mut connection = environment.connect( "DataSourceName", "Username", "Password", ConnectionOptions::default(), )?;אך אני לא מכיר את ODBC ולא יודע מה אני אמור למלא.
לכאו' צריך קודם לחבר את MS ACCESS ל ODBC או לצפות בחיבור כדי לדעת מה הסיסמה וכו', אך לא הבנתי איך אני מחבר את המסד נתונים ל ODBC.ב'התחל' חיפשתי ODBC והגעתי למסך כזה

ולאחר מכן לא הצלחתי להמשיך.
תודה רבה!
@Y-Excel-Access דוגמת הקוד שהבאת הוא עבור התחברות בשיטת DSN
נראה לי שיותר מומלץ לך להתחבר בשיטת connection string.
עיין כאן: https://www.connectionstrings.com/access לתיעוד על פורמט המחרוזת עבור קבצי אקסס -
בקיצור נמרץ:
- לחץ על התחל, ותרשום ODBC, ובחר בקידוד הסיביות הנכון 64 או 32 ביט

- שים לב שעליך להגדיר את החיבור בלשונית הנכונה: User DSN יהיה פעיל רק עבור המשתמש המחובר, ואילו System DSN יוגדר עבור כל המשתמשים
- לחץ על Add > Microsoft Access Driver < Finish
- בחלונית שנפתחה, תן שם לחיבור. שם זה ישמש אותך אח"כ להתחברות.
- לחץ על בחירה... ונווט למיקום של קובץ הנתונים של אקסס.

- לחץ על התחל, ותרשום ODBC, ובחר בקידוד הסיביות הנכון 64 או 32 ביט
-
@Y-Excel-Access דוגמת הקוד שהבאת הוא עבור התחברות בשיטת DSN
נראה לי שיותר מומלץ לך להתחבר בשיטת connection string.
עיין כאן: https://www.connectionstrings.com/access לתיעוד על פורמט המחרוזת עבור קבצי אקסס -
תודה רבה.
לא הצלחתי, כנראה בגלל חוסר הידע שלי ב 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() )?;לא הבנתי מה אני אמור להזין בכל שדה. הרי אין לי שום סיסמא, ואת שם המשתמש של המחשב כתבתי, אם כן מה חסר?
ושוב תודה רבה!
-
תודה רבה.
לא הצלחתי, כנראה בגלל חוסר הידע שלי ב 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() )?;לא הבנתי מה אני אמור להזין בכל שדה. הרי אין לי שום סיסמא, ואת שם המשתמש של המחשב כתבתי, אם כן מה חסר?
ושוב תודה רבה!
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות