PDA

View Full Version : دانلود database sql



prince-of-persia
یک شنبه 29 بهمن 1385, 08:28 صبح
سلام

من میخوام برنامه ایی دارم که کاربر باید بتونه database رو از روی سرور دانلود کنه
با توجه به اینکه database داخل فولدر db هست چگونه باید این کار را انجام داد؟

با تشکر

hamed_bostan
یک شنبه 29 بهمن 1385, 08:58 صبح
data base با کد نویسی واسه اش import کنی منطقی تره ولی اگر بخوای واقها دانلود کنی مجبوری کدی ینویسی که
1- db رو detach کنه
2- دانلودش کنی
3- db رو attachکنی
4- البته تو این موضوع اگه کاربرات زیاد باشن یا تعداد دفعات download زیاد باشه یا حتی این عمل detach و attach تداخل کنه به مشکل بر می خوری .

prince-of-persia
یک شنبه 29 بهمن 1385, 12:24 عصر
من میخوام از این روش برای پشتیبان گیری استفاده کنم.و فقط admin این توانایی رو داره و شاید در هفته یکبار باشد. اما من میخوام فایل پشتیبان رو در دانلود کنم.

اگر کد یا مثالی دارید بگذاریذ

با تشکر

bardia goharbin
یک شنبه 29 بهمن 1385, 12:51 عصر
مطمئنا دیتای درون دیتابیس مدنظر شماست، اگر اینطور است بهترین کار و راحتترین کار این است که رکوردهای دیتابیس را خوانده و در دیتابیس دومی که خالی از دیتا میباشد و در کامپیوتر خودتان است ثبت کنید. و یا فقط تغییرات را در دیتابیس دوم اعمال کنید.
متاسفانه من هم با این مشکل مواجه بودم و نتوانستم راه حلی برای دانلود دیتابیس پیدا کنم. و با این کار مشکلم را حل کردم.

hamed_bostan
یک شنبه 29 بهمن 1385, 13:06 عصر
خوب دوست عزیز از import استفاده کنی که خیلی راحت تره سرهتش هم فکر کنم بالا تر باشه اما خوب من بابت نمونه واسه دانبود کدش رو اگه فرصت شد می نویسم واسه ات می ذارم

prince-of-persia
یک شنبه 29 بهمن 1385, 19:14 عصر
ببینید من میخوام database رو دانلود کنم نه اینکه یک بانک sql رو از طریق asp.net به sql server موجود در هاست import کنم.
بهترین حالت اینه که با ورود admin به هاست امکان دانلود فایل mdf مثل فایل های عادی برای admin وجود داشته باشه.یعنی مثل کلیک کردن بر روی یک لینک اما امن.

bardia goharbin من چطور باید connection srting رو به صورتی تنظیم کنم که برنامه asp ایی که بر روی هاست است بتواند با کامپیوتر من و sqlserver من ارتباط برقرار کند.
اگر کدی در این ضمینه دارید بگذارید.

با تشکر.

shahab_ksh
یک شنبه 29 بهمن 1385, 19:32 عصر
using System;
using System.Runtime.InteropServices;
using SQLDMO;
namespace BackupWithEvents
{
/// <summary>
/// Class that drives from SQLDMO.BackupSink to implement event handlers
/// </summary>
class App : SQLDMO.BackupSink
{
[MTAThread]
static void Main(string[] args)
{
App app = new App();
app.Backup();
}
public void Backup()
{
SQLServer2Class server = new SQLServer2Class();
Databases databases;
Database2 database;
Backup2Class backup = new Backup2Class();
server.LoginSecure = true;
server.Connect("(local)", null, null);
Console.WriteLine("server {0}", server.Name);
databases = server.Databases;
database = (Database2) databases.Item("pubs", null);
Console.WriteLine("database {0}", database.Name);
backup.Database = database.Name;
backup.Files = @"c:\pubs.bak";
SQLDMO.BackupSink_CompleteEventHandler ceh = new SQLDMO.BackupSink_CompleteEventHandler(Complete);
backup.Complete += ceh;
SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Perc entComplete);
backup.PercentComplete += pceh;
SQLDMO.BackupSink_NextMediaEventHandler nmeh = new SQLDMO.BackupSink_NextMediaEventHandler(NextMedia) ;
backup.NextMedia += nmeh;
backup.SQLBackup(server);
server.DisConnect();
}
#region Implementation of BackupSink
public void Complete(string Message)
{
Console.WriteLine("Complete {0}", Message);
}
public void PercentComplete(string Message, int Percent)
{
Console.WriteLine("PercentComplete {0} {1}", Message, Percent);
}
public void NextMedia(string Message)
{
Console.WriteLine("NextMedia {0}", Message);
}
#endregion
}
}

prince-of-persia
یک شنبه 29 بهمن 1385, 19:45 عصر
میشه یکم در مورد ک بالا توضیح بدید .
اینکه آیا فایل رو دانلود میکنه یا اینکه با پایگاه داده local ارتباط برقرار میکنه؟

bardia goharbin
دوشنبه 30 بهمن 1385, 08:01 صبح
bardia goharbin من چطور باید connection srting رو به صورتی تنظیم کنم که برنامه asp ایی که بر روی هاست است بتواند با کامپیوتر من و sqlserver من ارتباط برقرار کند.
اگر کدی در این ضمینه دارید بگذارید.
با تشکر.
ببینید این روش من زیاد منطقی نیست ولی روش هست واسه خودش دیگه:
شما باید برعکس این کار را که گفتید انجام بدهید. یعنی این کار باید توسط برنامه Local و از روی کامپیوتر خودتان انجام گیرد و سایت را بصورت Local اجرا کنید و تنظیمات دیتابیس را بصورتی انجام دهید که دیتابیس اول را از Server بخواند که ۱۰۰% مسیرش را دارید و دیتابیس دوم رو هم که روی کامپیوتر خودتان است و این را هم ۱۰۰% مسیرش را میدانید. و بقیه ماجرا را هم که خواندن از دیتابیس اول و نوشتن در دیتابیس دوم هست را انجام دهید.