delphi4arab منتديات دلفي للعرب
نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى (/showthread.php?tid=3219)



نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - mohd - 22-06-2011

السلام عليكم....

استخدم الكود التالي لنسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى ويعمل بدون مشاكل على فرض ان القاعدتين في نفس مسار البرنامج

كود :
ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add('INSERT INTO Table1 IN "other_DB" SELECT * FROM DB'); ADOQuery1.ExecSQL();

حيث ان Table1 هو اسم الجدول المراد نسخه و DB هي قاعدة البيانات المراد النسخ منها و other_DB هي قاعدة البيانات المراد النسخ اليها وهما قواعد بيانات اكسس..

ولكن لو كانت قاعدة البيانات الاخرى أي المراد نسخ الجدول اليها تحتوي على باسوورد يظهر خطأ مفاده ان الباسوورد خطأ فما هو التعديل على الكود لتمرير الباسوورد وتجاوز ظهور الخطأ علما ان ال ADOQuery1 مربوطة بقاعدة البيانات الاولى أي المراد النسخ منها وتم تمرير الباسوورد لها عند الربط...

_____


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - kachwahed - 22-06-2011

وعليكم السلام ورحمة الله
انظر:
http://www.delphi4arab.net/forum/showthread.php?tid=2185
http://www.delphi4arab.net/forum/showthread.php?tid=2426
بالتوفيق.



نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - mohd - 22-06-2011

مشكور أخ kachwahed على الرد
أخي انا سؤالي كان بخصوص قاعدة البيانات المراد نسخ الجدول اليها وهي غير مربوطة بكائن ال ADOQuery1 لكون قاعدة البيانات المنسوخ منها مربوطة بذلك الكائن... تحياتي


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - Lam.Abdeldjalil - 22-06-2011

السلام عليكم

حسب علمي لا يمكن ،
لأن بارامتر Password يوضع في connectionstring وهي وحيدة لكل DataSet أي لا يمكنك أن تتصل بقاعدتين بـ DataSet واحدة/ connectionstring واحدة
(و الله أعلم ) .

بينما في الـ SQLSERVER يمكن (طبعا مع الصلاحيات)
كود :
INSERT Db2010.yourlogin.yourtable SELECT * FROM Db2009.yourlogin.yourtable
أي سيكون العمل يدويا Sad

بالتوفيق


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - mohd - 23-06-2011

Lam.Abdeldjalil كتب :حسب علمي لا يمكن ،
لأن بارامتر Password يوضع في connectionstring وهي وحيدة لكل DataSet أي لا يمكنك أن تتصل بقاعدتين بـ DataSet واحدة/ connectionstring واحدة
(و الله أعلم ) .


طيب اخي لكن الامر ينفذ على القاعدتين طبيعي بدون مشاكل اذا كانت القاعدة المنسوخ اليها لاتحتوي باسوورد , اعتقد انه يجب ان يمرر الباسوورد كشيء من هذا القبيل :


كود :
ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add('INSERT INTO Table1 IN "other_DB" [color=Red]"password=123"[/color] SELECT * FROM DB'); ADOQuery1.ExecSQL();

لكن لم تفلح الطريقة على الرغم من عدم ظهور خطأ املائي للأمر فقط يظهر بان الباسوورد خطأ...

____


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - Lam.Abdeldjalil - 23-06-2011

السلام عليكم
إقتباس :طيب اخي لكن الامر ينفذ على القاعدتين طبيعي بدون مشاكل اذا كانت القاعدة المنسوخ اليها لاتحتوي باسوورد
حين قلت " حسب علمي لا يمكن ، " في حالة وجود باسوورد
إقتباس :اعتقد انه يجب ان يمرر الباسوورد
ذلك هو المشكل

جرب الطريقة المذكورة في الرابط (بإستخدام odbc)
كود :
http://support.microsoft.com/kb/200427
بالتوفيق


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - mohd - 23-06-2011

مشكور اخ Lam.Abdeldjalil على المتابعة
للأسف هذه الطريقة لاتنفع لكون الربط بطريفة ODBC وانا لااستخدمها...

والحمد لله بعد التجارب الكثيرة جداً واخذ جميع الاحتمالات توصلت الى هذه الكود والذي يعمل بدون اي مشاكل

كود :
ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add('INSERT INTO [;Database=DB2.mdb; PWD=123].Table1 SELECT * FROM Table1'); ADOQuery1.ExecSQL();

على فرض ان ADOQuery1 مربوطة بقاعدة بيانات تحتوي على جدول Table1 ويراد نسخ محتوياته الى الجدول Table1 الموجود في قاعدة بيانات اخرى باسم DB2.mdb والمحمية بباسوورد "123" ...

تحياتي وشكراً للردود...


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - لؤي - 24-06-2011

وهل يلزم ADOUERY آخر لربط القاعدة الثانية DB2.mdb أم إستعملت 2* ADOconnection؟

لآني وجدت بعض الغموض في ما يخص إتصالك بقاعدتين في نفس الوقت


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - Lam.Abdeldjalil - 24-06-2011

السلام عليكم

بارك الله فيك أخ mohd على العودة لنا بالحل Smile
إقتباس : وهل يلزم ADOUERY آخر لربط القاعدة الثانية DB2.mdb أم إستعملت 2* ADOconnection؟
لا هذه ولا تلك ، فكرتها نفس فكرة التصدير للـ Excel بالـ ADO

يمكن ايضا تنفيذها بـ ADOConnection أو ADOCommand
كود :
ADOConnection1.Execute('INSERT INTO [;Database=bd2.mdb; PWD=123456].Table1 SELECT name FROM Table1');
بالتوفيق


نسخ محتويات جدول الى جدول اخر في قاعدة بيانات اخرى - mohd - 24-06-2011

نعم كما قال أخ Lam.Abdeldjalil القاعدة الثانية ليست مربوطة بشيء...

ويبارك فيك أخي...

__