חיבור של Access ל- SQL Server
Applies ToAccess של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

רכיבי גישה לנתונים

במאמר זה

שימוש במנהל התקן ODBC או בספק OLE DB

יצירת ממשק תוכניתי ל- SQL Server מ- Access

סיכום הגירסאות של מנהלי ההתקנים של ODBC

סיכום הגירסאות של ספקי OLE DB

סיכום מילות המפתח של ODBC

סיכום מילות המפתח של OLE DB

שימוש במנהל התקן ODBC או בספק OLE DB

מחרוזות חיבור קיימות כבר זמן רב. ניתן להגדיר מחרוזת חיבור מעוצבת בממשק המשתמש של Access או בקוד VBA. מחרוזת חיבור (ODBC או OLE DB) מעבירה מידע ישירות למסד הנתונים, כגון מיקום השרת, שם מסד הנתונים, סוג האבטחה ואפשרויות שימושיות אחרות. לדוגמה:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

בתחילת הדרך, היה לנו את SQL Server Native Client ‏(SNAC), שמהווה ספריה עצמאית שהכילה טכנולוגיות ODBC ו- OLEDB, אשר עדיין זמין עבור גירסאות 2005 עד 2012 של SQL Server. יישומים רבים מדור קודם השתמשו ב- SNAC, והוא עדיין נתמך לצורך תאימות לאחור, אך לא מומלץ להשתמש בו לצורך פיתוח יישומים חדשים. יש להשתמש בגירסאות מתקדמות יותר של מנהלי ההתקנים של ODBC, אשר מסופקות בנפרד וניתנות להורדה.

מנהלי התקנים של ODBC

קישוריות מסד נתונים פתוחה (ODBC) מהווה פרוטוקול שבו ניתן להשתמש כדי לחבר מסד נתונים של Access למקור נתונים חיצוני, כגון Microsoft SQL Server. בדרך כלל, יש להשתמש במקורות נתונים של קובץ (הנקראים גם קבצי DSN) כדי להוסיף מחרוזת חיבור; במקרה זה, נעשה שימוש במילת המפתח FILEDSN במחרוזת החיבור. ניתן גם לאחסן ברישום; במקרה זה, נעשה שימוש במילת המפתח DSN. לחלופין, ניתן להשתמש ב- VBA כדי להגדיר מאפיינים אלו באמצעות מחרוזת חיבור "נטולת DSN".

במהלך השנים, מנהלי התקנים של ODBC סופקו בשלושה שלבים:

  • לפני 2005, מנהלי התקנים של ODBC סופקו באמצעות Windows Data Access Components ‏(WDAC), אשר נקרא במקור Microsoft Data Access Components‏ (MDAC). רכיבים אלו עדיין כלולים ב- Windows לצורך תאימות לאחור. לקבלת מידע נוסף, ראה Microsoft Data Access Components או Windows Data Access Components.

  • מנהלי התקנים של ODBC סופקו עם SNAC עבור SQL Server 2005 עד SQL Server 2012.

  • לאחר SQL Server 2012, מנהלי התקנים של ODBC סופקו בנפרד, והם מכילים תמיכה עבור תכונות חדשות של SQL Server.

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

ספקי OLE DB

קישור והטבעה של אובייקטים, מסד נתונים (OLE DB) מהווה פרוטוקול עדכני יותר שבו ניתן להשתמש כדי לחבר מסד נתונים של Access למקור נתונים חיצוני, כגון Microsoft SQL Server‏. ‏OLE DB אינו מחייב שימוש ב- DSN וכן מספק גישה מלאה למקורות נתונים של ODBC ולמנהלי התקנים של ODBC.

עצה    בדרך כלל, יש להשתמש בתיבת הדו-שיח מאפייני קישור נתונים כדי להוסיף מחרוזת חיבור של OLE DB. למרות שאין דרך לפתוח את תיבת הדו-שיח מאפייני קישור נתונים מ- Access, ניתן להשתמש בסייר Windows: צור קובץ ‎.txt ריק, שנה את סוג הקובץ ל- ‎.udl ולאחר מכן לחץ פעמיים על הקובץ. לאחר יצירת מחרוזת חיבור, שנה את סוג הקובץ בחזרה ל- ‎.txt

במהלך השנים, ספקי OLE DB סופקו בשלושה שלבים:

  • לפני 2005, ספקי OLE DB סופקו באמצעות Windows Data Access Components ‏(WDAC), אשר נקרא במקור Microsoft Data Access Components‏ (MDAC).

  • ספקי OLE DB סופקו עם SQL Server 2005 עד SQL Server 2017. ספקי OLE DB יצאו משימוש ב- 2011.

  • ב- 2017, ספקי OLE DB של SQL Server חזרו לשימוש.

הגירסה המומלצת הנוכחית לצורך פיתוח פתרונות חדשים היא OLE DB Driver 18 for SQL Server.

כיצד למטב את הביצועים באמצעות מחרוזת חיבור של ODBC

כדי למטב את הביצועים, הפחת את תעבורת הרשת, צמצם גישת ריבוי-משתמשים למסד הנתונים של SQL Server, והשתמש במחרוזות חיבור מועטות ככל האפשר על-ידי שימוש באותן מחרוזות חיבור בכמה ערכות של רשומות. למרות ש- ACE פשוט מעביר מחרוזת חיבור לשרת, הוא מבין את מילות המפתח הבאות ומשתמש בהן: DSN,‏ DATABASE,‏ UID,‏ PWD ו- DRIVER כדי לצמצם את התקשורת בין הלקוח לשרת.

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

המלצות בעת שימוש גם ב- ODBC וגם ב- OLE DB

הימנע משילוב של טכנולוגיות גישה למסדי נתונים ומחרוזות חיבור. השתמש במחרוזת חיבור של ODBC עבור DAO. השתמש במחרוזת חיבור של OLE DB עבור ADO. אם היישום שלך מכיל קוד VBA שמשתמש גם ב- DAO וגם ב- ADO, השתמש במנהל התקן ODBC עבור DAO ובספק OLE DB עבור ADO. הקפד לקבל את התכונות והתמיכה העדכניות ביותר עבור ODBC ו- OLEDB‏.

‏ODBC משתמש במונח Driver, ו- OLE DB משתמש במונח Provider. המונחים מתארים את אותו סוג של רכיב תוכנה, אך לא ניתן להחליף ביניהם בתחביר מחרוזת החיבור. השתמש בערך הנכון בהתאם לתיעוד.

לראש הדף

יצירת ממשק תוכניתי ל- SQL Server מ- Access

קיימות שתי דרכים עיקריות ליצירת ממשק תוכניתי למסד נתונים של SQL Server מ- Access‏.

DAO

אובייקט גישה לנתונים (DAO) מספק ממשק מופשט למסד נתונים. 'אובייקטי גישה לנתונים (DAO) של Microsoft' הוא מודל האובייקטים התוכניתי המקורי שמאפשר לך להגיע לליבה של Access ו- SQL Server כדי ליצור, למחוק, לשנות ולפרט אובייקטים, טבלאות, שדות, אינדקסים, קשרים, שאילתות, מאפיינים ומסדי נתונים חיצוניים.

לקבלת מידע נוסף, ראה חומר עזר בנושא 'אובייקטי גישה לנתונים של Microsoft'‏.

ADO

‏ActiveX Data Objects ‏(ADO) מספק מודל תיכנות ברמה גבוהה, והוא זמין ב- Access על-ידי הפניה לספריה של צד שלישי. קל ללמוד כיצד להשתמש ב- ADO, והוא מאפשר ליישומי לקוח לגשת לנתונים ולטפל בנתונים ממגוון מקורות, כולל Access ו- SQL Server. היתרונות העיקריים שלו הם קלות השימוש, המהירות הגבוהה, התקורה הנמוכה של הזיכרון וטביעת הרגל הקטנה של הדיסק. בנוסף, ADO תומך בתכונות עיקריות עבור בנייה ויישומים מבוססי אינטרנט.

לקבלת מידע נוסף, ראה חומר עזר בנושא Microsoft ActiveX Data Objects ו- Microsoft ActiveX Data Objects‏ (ADO).

באיזה מהם עליך להשתמש?

בפתרון Access שמשתמש בקוד VBA, ניתן להשתמש ב- DAO, ב- ADO או בשניהם כטכנולוגיית ממשק מסד הנתונים. ‏DAO ממשיך להיות ברירת המחדל ב- Access. לדוגמה, כל הטפסים והדוחות והשאילתות של Access משתמשים ב- DAO. אך בעת המעבר ל- SQL Server, שקול להשתמש ב- ADO כדי להפוך את הפתרון ליעיל יותר. להלן קווים מנחים כלליים שיעזרו לך להחליט מתי להשתמש ב- DAO או ב- ADO.

השתמש ב- DAO כאשר ברצונך:

  • ליצור טופס מאוגד של קריאה/כתיבה מבלי להשתמש ב- VBA.

  • להפעיל שאילתות בטבלאות מקומיות.

  • להוריד נתונים לטבלאות זמניות.

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

  • להגדיר אובייקט TableDef או Querydef ולהשתמש בו ב- VBA.

השתמש ב- ADO כאשר ברצונך:

  • לנצל דרכים נוספות למיטוב, כגון ביצוע פעולות אסינכרוניות.

  • להפעיל שאילתות מעבר של DDL ו- DML.

  • להגיע לנתוני SQL Server ישירות דרך ערכות של רשומות ב- VBA.

  • לכתוב קוד פשוט יותר עבור משימות מסוימות, כגון הזרמת רכיבי Blob.

  • לבצע קריאה ישירה לפרוצדורה מאוחסנת, עם פרמטרים, באמצעות אובייקט פקודה ב- VBA.

לראש הדף

סיכום הגירסאות של מנהלי ההתקנים של ODBC

הטבלה הבאה מסכמת מידע חשוב לגבי גירסאות מנהלי ההתקנים של ODBC, מיקומי ההורדה והתמיכה בתכונות. הקפד להשתמש בגירסת הסיביות הנכונה (64 סיביות או 32 סיביות) של מנהל ההתקן בהתבסס על Windows, ולא על Office. אם פועל אצלך Access של 32 סיביות ב- Windows של 64 סיביות, עליך להתקין מנהלי התקנים של 64 סיביות, שכוללים את רכיבי 32 הסיביות הדרושים עבור Access.

לקבלת מידע נוסף, ראה שימוש במילות מפתח של מחרוזות חיבור עם SQL Server Native Client, הערות מוצר של ODBC to SQL Server ב- Windows (גירסה 17) ותכונות Microsoft ODBC Driver for SQL Server ב- Windows (גירסה 13 ו- 11).

גירסאות מנהלי ההתקנים של ODBC

גירסה

הורדה

תכונות חדשות

‏ODBC Driver 17.0 עד ODBC Driver 17.3

SQL Server 2017

הורד

‏ODBC Driver 17.3

שימוש ב- Azure Active Directory עם מנהל התקן ODBC

מגבלות של מנהל התקן ODBC בעת שימוש ב- Always Encrypted

שימוש בטרנזקציות XA

ODBC Driver 17.2

שימוש ב- Always Encrypted עם ODBC Driver for SQL Server

סיווג נתונים

תמיכה ב- Unicode ואיסוף של קידוד בשרת UTF-8

‏ODBC Driver 17.1

שימוש ב- Always Encrypted עם ODBC Driver for SQL Server

‏ODBC Driver 17.0

Always Encrypted‏

UseFMTONLY    כדי להשתמש במטה-נתונים מדור קודם במקרים מיוחדים שמחייבים טבלאות זמניות. ראה הערות מוצר עבור ODBC to SQL Server ב- Windows

הבדלים בעת שימוש במופע מנוהל (ODBC גירסה 17)

‏ODBC Driver 13.1

SQL Server 2016 SP1,‏ SQL Azure

הורד

Always Encrypted‏

Azure Active Directory

קבוצות זמינות AlwaysOn

מאגר חיבורים המודע למנהל התקן במנהל התקן ODBC עבור SQL Server

‏ODBC Driver 13.0

SQL Server 2016

הורד

שם תחום בינלאומי (IDN)

‏ODBC Driver 11.0

SQL Server 2005 עד SQL Server 2012

הורד

מאגר חיבורים המודע למנהל התקן

גמישות חיבור ב- Windows ODBC Driver

ביצוע אסינכרוני

שמות ראשיים של שירות (SPN) בחיבורי לקוח (ODBC)

תכונות Microsoft ODBC Driver for SQL Server ב- Windows

לראש הדף

סיכום הגירסאות של ספקי OLE DB

הטבלה הבאה מסכמת מידע חשוב לגבי גירסאות ספקי OLE DB, מיקומי ההורדה והתמיכה בתכונות. הקפד להשתמש בגירסת הסיביות הנכונה (64 סיביות או 32 סיביות) של מנהל ההתקן בהתבסס על Windows, ולא על Office. אם פועל אצלך Access של 32 סיביות ב- Windows של 64 סיביות, עליך להתקין מנהלי התקנים של 64 סיביות, שכוללים את רכיבי 32 הסיביות הדרושים עבור Access.

לקבלת מידע נוסף, ראה שימוש במילות מפתח של מחרוזות חיבור עם SQL Server Native Client.

ספק OLE DB

גירסה

הורדה

תכונות חדשות

‏OLE DB Driver 18.2.1

‏(MSOLEDBSQL)

SQL Server 2017

הורד

תכונות OLE DB Driver for SQL Server והערות מוצר עבור Microsoft OLE DB Driver for SQL Server

SQL Server Native Client ‏(SQLNCLI)

SQL Server 2005 עד SQL Server 2012

יצא משימוש; נא לא להשתמש

OLE DB Driver ‏(SQLOLEDB)

יצא משימוש; נא לא להשתמש

לראש הדף

סיכום מילות המפתח של ODBC

הטבלה הבאה מסכמת את מילות המפתח של ODBC שמזוהות על-ידי SQL Server ואת מטרתן. רק חלק מהן מזוהות על-ידי Access.

מילת מפתח

תיאור

Addr

כתובת הרשת של השרת שפועל בו מופע של SQL Server.

AnsiNPW

מציינת שימוש באופני פעולה המוגדרים לפי ANSI לטיפול בהשוואות NULL, ריווח נתוני תווים, אזהרות ושרשור NULL ‏(Yes או No)‏.

APP

שם היישום שמבצע קריאה ל- SQLDriverConnect‏.

ApplicationIntent

מצהירה על סוג עומס העבודה של היישום בעת התחברות לשרת (ReadOnly או ReadWrite)‏.

AttachDBFileName

שם הקובץ הראשי של מסד נתונים הניתן לצירוף.

AutoTranslate

מציינת אם מחרוזות תווי ANSI נשלחות בין הלקוח או השרת או מתורגמות ל- Unicode‏ (Yes או No)‏.

Database

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

DSN

השם של משתמש ODBC קיים או מקור נתונים קיים של המערכת. Encrypt מציינת אם הנתונים אמורים להיות מוצפנים לפני שליחתם דרך הרשת (Yes או No)‏.

Failover_Partner

שם השרת השותף למעבר לגיבוי בעת כשל שבו יש להשתמש אם לא ניתן לבצע חיבור לשרת הראשי.

FailoverPartnerSPN

ה- SPN עבור השותף למעבר לגיבוי בעת כשל.

Fallback

מילת מפתח שיצאה משימוש.

FileDSN

השם של מקור נתונים קיים של קובץ עבור ODBC. Language שפת SQL Server‏.

MARS_Connection

מציינת ערכות תוצאות פעילות מרובות (MARS) בחיבור עבור SQL Server 2005 ‏(‎9.x) ואילך (Yes או No)‏.

MultiSubnetFailover

מציינת אם יש להתחבר אל המאזין לקבוצת הזמינות של קבוצת זמינות של SQL Server או למופע של אשכול מעבר לגיבוי בעת כשל (Yes או No)‏.

Net

‏dbnmpntw מציין רכיבי Named Pipe, ו- dbmssocn מציין TCP/IP‏.

PWD

סיסמת הכניסה של SQL Server‏.

QueryLog_On

מציינת את הרישום של שאילתות בעלות הפעלה מתמשכת (Yes או No)‏.

QueryLogFile

הנתיב המלא ושם הקובץ של קובץ שבו יש להשתמש כדי לבצע רישום נתונים בשאילתות בעלות הפעלה מתמשכת.

QueryLogTime

מחרוזת תווים מספרית שמציינת את הסף (באלפיות שניה) לרישום שאילתות בעלות הפעלה מתמשכת.

QuotedId

מציינת אם SQL Server משתמש בכללי ISO לגבי השימוש במרכאות במשפטי SQL ‏(Yes או No)‏.

Regional

מציינת אם מנהל התקן ODBC של SQL Server Native Client משתמש בהגדרות הלקוח בעת המרת נתוני מטבע, תאריך או שעה לנתוני תווים (Yes או No)‏.

SaveFile

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

Server

שם המופע של SQL Server: שרת ברשת, כתובת IP או כינוי של מנהל התצורה.

ServerSPN

ה- SPN עבור השרת.

StatsLog_On

מאפשרת לכידה של נתוני הביצועים עבור מנהל התקן ODBC של SQL Server Native Client‏.

StatsLogFile

הנתיב המלא ושם הקובץ של קובץ המשמש לתיעוד סטטיסטיקות הביצועים עבור מנהל התקן ODBC של SQL Server Native Client‏.

Trusted_Connection

מציינת אם נעשה שימוש במצב אימות Windows או בשם משתמש/סיסמה של SQL Server לצורך אימות הכניסה (Yes או No)‏.

TrustServerCertificate

בעת שימוש עם Encrypt, מאפשרת הצפנה באמצעות אישור שרת בחתימה עצמית.

UID

שם הכניסה של SQL Server‏.

UseProcForPrepare

מילת מפתח שיצאה משימוש.

WSID

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

לראש הדף

סיכום מילות המפתח של OLE DB

הטבלה הבאה מסכמת את מילות המפתח של OLE DB שמזוהות על-ידי SQL Server ואת מטרתן. רק חלק מהן מזוהות על-ידי Access.

מילת מפתח

תיאור

Addr

כתובת הרשת של השרת שפועל בו מופע של SQL Server.

APP

המחרוזת שמזהה את היישום.

ApplicationIntent

מצהירה על סוג עומס העבודה של היישום בעת התחברות לשרת (ReadOnly או ReadWrite)‏.

AttachDBFileName

שם הקובץ הראשי של מסד נתונים הניתן לצירוף.

AutoTranslate

קובעת את תצורת תרגום התווים של OEM‏/ANSI ‏(True או False)‏.

Connect Timeout

משך הזמן (בשניות) להמתנה לסיום האתחול של מקור הנתונים.

Current Language

שם השפה של SQL Server‏.

Data Source

שם המופע של SQL Server בארגון.

Database

שם מסד הנתונים.

DataTypeCompatibility

מספר שמציין את מצב הטיפול בסוג נתונים שבו ייעשה שימוש.

Encrypt

מציינת אם הנתונים אמורים להיות מוצפנים לפני שליחתם דרך הרשת (Yes או No)‏.

FailoverPartner

שם השרת למעבר לגיבוי בעת כשל המשמש לשיקוף מסד נתונים.

FailoverPartnerSPN

ה- SPN עבור השותף למעבר לגיבוי בעת כשל.

Initial Catalog

שם מסד הנתונים.

Initial File Name

שם הקובץ הראשי (כולל שם הנתיב המלא) של מסד נתונים הניתן לצירוף.

Integrated Security

משמשת עבור אימות Windows ‏(SSPI)‏.

Language

שפת SQL Server‏.

MarsConn

מציינת ערכות תוצאות פעילות מרובות (MARS) בחיבור עבור SQL Server 2005 ‏(‎9.x) ואילך (Yes או No)‏.

Net

ספריית הרשת שבה נעשה שימוש כדי ליצור חיבור למופע של SQL Server בארגון.

Network Address

כתובת הרשת של מופע של SQL Server בארגון.

PacketSize

גודל המנה ברשת. ברירת המחדל היא 4096‏.

Persist Security Info

מציינת אם המאפיין Persist Security זמין (True או False)‏.

PersistSensitive

מציינת אם המאפיין Persist Sensitive זמין (True או False)‏.

Provider

עבור SQL Server Native Client, הערך צריך להיות SQLNCLI11‏.

PWD

סיסמת הכניסה של SQL Server‏.

Server

שם המופע של SQL Server: שרת ברשת, כתובת IP או כינוי של מנהל התצורה.

ServerSPN

ה- SPN עבור השרת.

Timeout

משך הזמן (בשניות) להמתנה לסיום האתחול של מקור הנתונים.

Trusted_Connection

מציינת אם נעשה שימוש במצב אימות Windows או בשם משתמש/סיסמה של SQL Server לצורך אימות הכניסה (Yes או No)‏.

TrustServerCertificate

מציינת אם אישור שרת מאומת (True או False)‏.

UID

שם הכניסה של SQL Server‏.

Use Encryption for Data

מציינת אם הנתונים אמורים להיות מוצפנים לפני שליחתם דרך הרשת (True או False)‏.

UseProcForPrepare

מילת מפתח שיצאה משימוש.

WSID

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

לראש הדף

ניהול מקורות נתונים של ODBC

ניהול טבלאות מקושרות

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

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

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