PDA

View Full Version : فراخوانی دیتابیس یک سرور در دیتابیس سرور دیگر



vahid83
شنبه 12 تیر 1389, 14:33 عصر
باز هم سلام

امیدوارم که هیچ سؤال بی جوابی براتون باقی نمونه...

منم دارم با MySQL 5.0 کار میکنم. می خوام یه stored procedure بنویسم که داخلش از جداول یه دیتابیس تو یه سرور دیگه استفاده کنه. یعنی مثلاً اگه من الان یه Stored procedure تو سرور 192.168.1.1 تعریف کنم و داخلش بیام جدولی از یه دیتابیس تو سرور 19.168.1.2 رو فراخوانی کنم امکانش هست یا نه؟
دوستان گرامی میشه راهنماییم کنید!
ممنونم...

vahid83
یک شنبه 13 تیر 1389, 08:09 صبح
دوستان گرامی اگه میشه منو راهنمایی کنید!

vahid83
یک شنبه 13 تیر 1389, 10:52 صبح
plzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz help me!

amirkh
دوشنبه 14 تیر 1389, 16:52 عصر
این مثال خود PHP.net هست . البته اگه درست ، متوجه منظورتون شده باشم .
باید پورت MySQL رو بعد از IP یا دامین بنویسی .



<?php
// we connect to example.com and port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

// we connect to localhost at port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

vahid83
دوشنبه 21 تیر 1389, 11:08 صبح
دوست عزیز amirkh (http://www.barnamenevis.org/forum/member.php?u=88287)، از توجهتون ممنونم.
راستش این مشکل منو حل نمیکنه! بذارید یه جور دیگه توضیح بدم:
من یه دیتابیس دارم که توی دوتا سرور جداست. سرور اول اطلاعات امروز رو نگهداری میکنه و سرور دوم (که در واقع از back up گیری سرور اصلی پر میشه) اطلاعات تا دیروز رو نگهداری میکنه! برای گزارش گیری به سرور دوم وصل میشم (البته اگه تاریخ امروز شاملش نشه) اگه تاریخ امروز هم تو نتیجه مهم باشه باید از همون stored procedure ای که داخل سرور دوم نوشتم، سرور اول رو فراخوانی کنم و اطلاعات امروز رو هم انتخاب کنم. حالا نمیدونم این ممکنه یا نه؟
بازم از توجهتون ممنونم!

vahid83
شنبه 09 بهمن 1389, 13:20 عصر
سلام به همگی دوستان
راستش چند وقتی هست که این مشکلمو حل کردم یعنی با کمک یکی از اساتیدم.
با جستجوهایی که انجام دادم MySQL این خاصیتو نداره که بتونه به دیتابیس های موجود در سرورهای دیگه اتصال برقرار کنه در حالی که SqlServer میتونه با دیتابیس های نظیر خودش و حتی با دیتابیس MySQL در سرور دیگه ارتباط برقرار کنه!
ولی MySQL یه Engine به اسم FEDERATED داره که از جداول موجود در سرور دیگه براتون یه سری جداول مجازی در سیستم خودتون یا سیستم دیگه می سازه، در واقع مثل یه آینه عمل می کنه.
راستش الان وقت توضیح بیشتری رو ندارم. وظیفه دونستم که به راه حلی که پیدا کردم اشاره کنم.
اگه براتون جالب بود یا خواستید اطلاعات بیشتری در این مورد کسب کنید، پیغام بذارید تا انشاء... تو یه وقت بهتر توضیحات کاملتری بدم.