נשלח בתאריך: 22 June 2007 בשעה 19:25 | | IP רשוּם
|
|
|
|
אוקיי, הנה משהו שמצאתי באתר של מיקרוסופט, מי שלא רוצה לקרוא הכל שירד למטה עד אחרי הקו. יש תקציר.
פרוייקטים
של Access תוכננו להתחבר למסד נתונים עורפי של Microsoft SQL Server או של
Microsoft SQL Server™ 2000 Desktop Engine (קודם לכן - MSDE). שפת
Structured Query Language (SQL) , היא שפת תכנות ואינטראקטיביות תקנית
לעבודה עם מסדי נתונים יחסיים. שפת Transact-SQL היא ניב ה-SQL המקורי
המשמש הן את SQL Server והן את Desktop Engine. שפת Transact-SQL תומכת ב-
ANSI SQL-92, התקן העדכני של SQL. ב-Access 2002 ואילך, פרוייקטים
המפעילים שאילתות וביטויי סינון על נתונים של SQL Server, חייבים לעשות
זאת בתחביר ANSI SQL-92.
מסדי נתונים של Access משתמשים במנוע מסד הנתונים Jet לביצוע שאילתות
כנגד הנתונים המקוריים. Jet תומך בתקן ANSI SQL-89 (להלן תחביר Jet SQL).
תחביר Jet SQL שונה מהתקן של ANSI SQL-92 במספר אופנים. לדוגמה, תחביר Jet
SQL משתמש בכוכבית (*) כסימן למספר תווים כלליים, ואילו תחביר ANSI SQL-92
משתמש בסימן האחוז (%).
לדוגמה, תחביר Jet SQL לבחירת כל הלקוחות מארץ ששמה מתחיל באות U:
SELECT * FROM Customers WHERE Country Like ‘U*’
תחביר ANSI SQL-92 לבחירת כל הלקוחות מארץ ששמה מתחיל באות U:
SELECT * FROM Customers WHERE Country Like ‘U
--------------------
לפי מה שהבנתי, סוגי SQL שונים. יש את ANSI SQL-92 שאותו כולם מכירים והוא הפופאלרי, לפי התחביר שלו, סימן אחוז אמור לעבוד. ויש את JET SQL, תחביר ישן יותר, לא מוכר, ובתחביר הזה במקום אחוז צריך לרשום כוכבית וכנראה יש עוד שינויים שאני לא יודע עליהם ---------
עכשיו ספציפית לבעייה שלי, ככל הנראה, הויבי שלי מוגדר לעבוד בתחביר של JET-SQL איך אני יכול לגרום לו לעבוד עם התחביר הנורמלי ANSI SQL-92 ?
|