كيف أقوم بإنشاء رابط ODBC Jet لعرض SQL Server مع فترات في أسماء الحقول؟

StackOverflow https://stackoverflow.com/questions/160467

سؤال

أحتاج إلى إنشاء رابط ODBC من قاعدة بيانات Access 2003 (JET) إلى طريقة عرض مستضافة خادم SQL والتي تحتوي على أسماء الحقول المستعارة التي تحتوي على فترات مثل:

Seq.Group

في مصدر SQL وراء العرض ، يتم تغليف أسماء الحقول بين قوسين مربعة ...

SELECT Table._Group AS [Seq.Group]

... لذلك لا يشتكي SQL Server من إنشاء طريقة العرض ، ولكن عندما أحاول إنشاء رابط ODBC إليه من Jet DB (إما برمجيًا أو عبر واجهة مستخدم Access 2003) ، أتلقى رسالة الخطأ:

"seq.group" ليس اسمًا صالحًا. تأكد من أنه لا يتضمن أحرفًا غير صالحة أو علامات ترقيم وأنه لم يمض وقت طويل.

لسوء الحظ ، لا يمكنني تعديل بنية العرض لأنه جزء من منتج آخر ، لذلك أنا عالق مع أسماء الحقل بالطريقة التي هم بها. أنا استطاع أضف وجهة نظري الخاصة بأسماء الحقول الخالية من علامات الترقيم ، لكنني أفضل عدم تعديل خادم SQL على الإطلاق لأنه يصبح ذلك نقطة أخرى للصيانة في كل مرة يكون هناك ترقية ، وإصلاح ساخنة ، وما إلى ذلك. هل يعرف أي شخص حلًا أفضل؟

هل كانت مفيدة؟

المحلول

على الرغم من أنني لم ينتهي الأمر تقنيًا بالهروب من النقطة ، إلا أن اقتراحك في الواقع فعلت اجعلني أدرك بديلاً آخر. بينما أتساءل كيف سأقوم "بتمرير" رمز الهروب إلى خادم "SQL" ، فقد فجرني: لماذا لا تستخدم "استعلام SQL تمرير" بدلاً من جدول مرتبط ODBC؟ بما أنني بحاجة فقط إلى قراءة الوصول إلى بيانات SQL Server ، فهي تعمل بشكل جيد! شكرًا!

نصائح أخرى

مجرد التخمين هنا: هل حاولت الهروب من النقطة؟ شيء مثل [seq .group]؟

هناك اقتراح آخر هو إضافة طريقة عرض جديدة على خادم SQL الخاص بك ، وليس تعديل العرض الحالي. حتى لو كان العرض الأولي الخاص بك جزءًا من "الحل" ، فلا شيء يمنعك من إضافة طرق عرض جديدة:

SELECT Table._Group AS [Seq_Group]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top