بطئ الإتصال بقاعدة بيانات (Sybase)
#1
سلام الله عليكم

أستعمل مكون ADOconnection للإتصال بقاعدة بيانات SYbase على مستوى خادم لكن بعض الجداول داخل هذه القاعدة تأخذ مدة معتبرة أثناء الإتصال هل هناك من طريقة لتسريع الإتصال ؟
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#2
وعليكم السلام و رحمة الله

لم أستعملها من قبل ، طالع موضوع قواعد البيانات: تعمق في الADO - الجزء الأول

في
مجلة منتدى دلفي للعرب : العدد 05

ربما يفيدك !

بالتوفيق
الرد
#3
ليس من الضرورة أنك إستعملت القاعدة أم لا فهي كأوراكل مثلا و نفس المشكل وقعت فيه أثناء إستعمالي لقاعدة أوراكل بطئ أثناء الإتصال و قد لمح له في المجلة لكن هل من وسيلة لتفادي هذا البطئ ؟
مع العلم أني أتصل بالقاعدة عن طريق odbc لـ ado لأنها كما قلت موجودة على سرفير في الشبكة
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#4
هناك طريقة في مثل هذه الحالات (ضخامة الجداول) هي عدم إستعمال ADOtable أو ADOdataset و إستعمال ADOquery مباشرة لإستخلاص النتائج لكن عيبها أنك لا ترى محتوى الجداول !!!!!
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#5
السلام عليكم
إقتباس :مع العلم أني أتصل بالقاعدة عن طريق odbc لـ ado لأنها كما قلت موجودة على سرفير في الشبكة
تستخدم odbc بينما يوجد ، OLE DB ـ !
كود :
http://www.sybase.com/products/databasemanagement/advantagedatabaseserver/ole-db-provider
يوجد خيار آخر هذه المكونات مجانية على ما أعتقد خاصة بالدلفي و Lazarus
كود :
http://www.sybase.com/products/databasemanagement/advantagedatabaseserver/delphi-components
إقتباس :هناك طريقة في مثل هذه الحالات (ضخامة الجداول) هي عدم إستعمال ADOtable أو ADOdataset
تقصد في ADOdataset حالة cmdTable و cmdTableDirect ؟
إقتباس : إستعمال ADOquery مباشرة لإستخلاص النتائج لكن عيبها أنك لا ترى محتوى الجداول !!!!!
كيف ذلك ؟
الرد
#6
Lam.Abdeldjalil كتب :تستخدم odbc بينما يوجد ، OLE DB ـ !
؟
حملت مكونات دلفي الخاصة بـSybase من الرابط أعلاه لكن لم أوفق في إجراء الإتصال
Lam.Abdeldjalil كتب :كيف ذلك ؟
إستغلال خاصية adoquery.sql فهي تعطيك ناتج الإستعلام المدرج

بعد البحث حملت برنامج aseisql
كود :
http://aseisql.googlecode.com/files/aseisql-2007-11-19.zip
الذي يتيح لك فرصة إستعمال إستعلامات SQL و خصائص أخرى (Manager) لتسهيل على المستخدم رؤية الجداول و التأكد من الإستعلامات SQL
وللمعلومة فقط Sybase تحتوي على ملف كأورالكل TNSname.ora إسمه SQL.INI موجود في مجلد INI \Sybase :\C

طريقة ضبطه:
[server_name]
master=TCP,host,tds_port
query=TCP,host,tds_port
where:
server_name – is a logical name for the server, composed of letters, digits, and the underscore character.
host – is the server machine’s host name or IP address.
tds_port – is the database server’s TDS listener port number.
المصدر:
كود :
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc38014.0620/html/easwinig/BABBEIHH.htm
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#7
السلام عليكم

بالـ Ado
كود :
http://www.connectionstrings.com/sybase-advantage#p36
بالـ Advantage TDataSet
كود :
[B] http://m.sybase.com/detail?id=1065130[/B]
إقتباس :إستغلال خاصية adoquery.sql فهي تعطيك ناتج الإستعلام المدرج
أعلم هذا ، سؤالي هو ماذا تقصد بـ " ... لكن عيبها أنك لا ترى محتوى الجداول !!!!! "

بالتوفيق
الرد
#8
Lam.Abdeldjalil كتب :سؤالي هو ماذا تقصد بـ " ... لكن عيبها أنك لا ترى محتوى الجداول !!!!! "
و عليكم السلام

بسيطة Smile أقصد بالنسبة للمطور أو المبرمج يجب أن يرى محتوى الجدول لكي يقوم بحسابته .مثلا لو أردت حساب إحصائيات من جدول بشرطي الأيام و الزمن وجب عليك معرفة من هي أسماء الاعمدة و خصاصها(Date,String....) هذا في حالة أننا لا نعلم محتوى الجداول لذلك وضعت برنامج Isql فهو يساعد المطور على رؤية محتوى وخصائص الجداول و في نفس الوقت يقوم تجريب إستعلامات SQL وملاحظة نتائجها

شكرا عبد الجليل لنا الشرف التحدث معكمSmile
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#9
السلام عليكم

الآن فهمت ماذا تقصد Big Grin

إستخدم الـ ADODasatset إذا نسيت أسماء الجداول / الحقول

[صورة: dataset.png]

بارك الله فيك أخي

بالتوفيق
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم