سؤال

نحتاج إلى الوصول إلى قاعدة بيانات Teradata عبر تطبيق PHP ، ليس لدينا ODBC (UNIXODBC وما إلى ذلك) على الخادم.

كيف يمكن للمرء أن يتواصل مع قاعدة بيانات Teradata بسرعة.

ضع في اعتبارك - يجب أن يكون هذا التطبيق محمولًا قدر الإمكان.

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

المحلول

هذه الطريقة من شأنه أن يساعدك إذا كنت على ما يرام مع الآثار المترتبة على الذاكرة وهذا من شأنه أن يساعدك إذا كان لديك أداة سطر الأوامر Teradata مثبتة BTEQ على جهازك.

ولكن الطريقة الأفضل ستكون بواسطة ODBC لأنها تمنحك المرونة. في الطريقة المذكورة أعلاه لتنفيذ سطر الأوامر لنصوص SQL بواسطة وظيفة System () ، يمكنك استخدام لغة أسهل مثل R لتحليل مجموعة نتائج الإخراج.

أعتقد أنك قد تفعل ذلك أيضًا عن طريق اتصال JDBC. يمكنك أيضًا تنزيل أي من برامج تشغيل ODBC/JDBC هذه هذا الرابط.

نصائح أخرى

يوفر Teradata برنامج تشغيل ODBC. بمجرد التثبيت ، يمكن الوصول إليه عبر مدير برنامج تشغيل UNIXODBC ، على افتراض أن PHP قد تم تصميمه بـ "-مع-UNIXODBC = مشترك ،/usr".

يمكن لـ PHP بعد ذلك الاتصال بقاعدة بيانات Teradata باستخدام ODBC_Connect ($ DSN ، $ user ، $ passwd) ؛

يتضمن تثبيت برنامج تشغيل Teradata ODBC عينة من ملف ODBC.Ini ، والذي يمكنك CP إلى .odbc.ini في الدليل المنزلي الخاص بك ، ثم تعديل لاحتواء DSN لقاعدة بيانات Teradata الخاصة بك.

اضبط متغير البيئة ODBCini على موقع ملف ODBC.Ini الخاص بك لاستخدامه (/Home/Johndoe/.odbc.ini شائع).

كن حذرًا: يوفر سائق Teradata ODBC مجموعة غنية من عبارات DML ، لكن عدد قليل جدًا من خلال مدير برنامج تشغيل UNIXODBC. مجموعة وظائف ODBC_XXXX () من PHP هي مجموعة فرعية مشلولة لما يقدمه برنامج تشغيل Teradata ODBC.

ربما الحظ لم يحالفك.

  • PDO ليس لديه سائق أصلي
  • ADODB ليس لديه سائق أصلي

انطلاقًا من ما أجده من بحث على شبكة الإنترنت ، أود أن أقول أنه لا يمكن الاتصال من PHP إلى قاعدة بيانات Teradata بدون ODBC.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top