# Native Code > برنامه نویسی در Delphi > توسعه نرم افزار تحت وب >  انتقال داده ها ازیک نرم افزار تحت ویندوز به یک برنامه تحت وب

## fatemesoleimani

با سلام و خسته نباشید 

چطوری داده های یه جدول تو یه برنامه تحت ویندوز  که با سی شارپ هست را به یک جدول تو یک برنامه تحت وب با اینترا وب در حالت افلاین انتقال بدیم ؟

با تشکرو سپاس فراوان

----------


## mrm0101

با سلام
اطلاعات توی برنامه دلفی یا سی شارپ ذخیره نمی شود بلکه توی دیتابیس ذخیره می شود . برای انتقال اطلاعات از دیتابیس محلی به دیتابیس سرور (اس کیو ال سرور )چندین راه وجود دارد.
1- بکاب گیری از بانک محلی و ریستور در سرور(
2-خروجی اطلاعات بصورت اکسل و تغذیه در سرور
3- ارتباط دو جدول اس اکیو ال سرور از طریق اینترنت ( باید در سرور پورت 1433 باز باشد که از راه دور به آن ارتباط داد که معمولا چنین اجازه ای به شما نمی دهند)
4- استفاده از تکنولوژی Datasnap توی اینترنت سرج بکنید برنامه های سه لایه 
5- استفاده از replication

----------


## BORHAN TEC

سلام
جناب mrm0101 اطلاعات خوبی دادید ولی در خصوص جمله زیر:



> 4- استفاده از تکنولوژی Datasnap توی اینترنت سرج بکنید برنامه های سه لایه


باید عرض کنم که به کارگیری عبارت "لایه" اصلاً درست نیست. توجه کنید که در حوزه نرم افزار عبارت Layer با Tier کاملاً متفاوت است و در اینجا شما باید از عبارت Multi-Tier استفاده کنید.
لایه یک تقسیم بندی منطقی است و tier یک تقسیم بندی فیزیکی است. نتیجه یک برنامه چندلایه می تواند فقط یک فایل فایل اجرایی باشد! ولی در برنامه های چند ردیفه یا Multi-Tier اینطور نیست و برنامه می تواند به صورت چند تکه باشد که بخشی از آن ممکن است در یک کامپیوتر (یا موبایل یا ...) و بخش دیگر در یک کامپیوتر(یا موبایل یا ...) دیگر اجرا شود. توجه داشته باشید که هر قسمت از یک برنامه Multi-Tier میتواند به صورت چند لایه پیاده سازی شود. در عمل مهمترین اهداف یک برنامه چندلایه بالابردن خوانایی کد و همچنین متمایز کردن UI از قسمت کد برنامه یا منطق برنامه است به گونه ای که بتوان با زحمت خیلی کم یک برنامه دسکتاپ را به یک برنامه تحت وب تبدیل کرد و برعکس.

----------


## fatemesoleimani

ممنون از راهنماییتان
1)ایا راهی هست که وقتی تو سی شارپ داریم اطلاعات را ثبت می کنیم اطلاعات از برنامه تحت ویندوز به وب سایت منتقل بشه؟ یعنی در این روش باید اطلاعات را به اکسل منتقل کنم.
چطوری اطلاعات را به صورت افلاین انتقال بدهم
2}در روش دیگه روی سرور باید دوتا دیتا بیس باشه یکی دیتا بیس مربوط به سایت و دیگری دیتا بیس مربوط به نرم افزار تحت ویندوز که باید برای برنامه تحت وب در جایی که نیاز داریم یه کانکشن دیگه برای دیتا بیس دوم بگذاریم که باید از دیتا بیس تحت ویندوز اطلاعات را یکباره ثبت کنه.
من می خوام بعد از اینکه همه رکورد ها را در یک جدول تو برنامه تحت ویندوز ثبت کردم هر هفته یکبار اطلاعات را به سایت منتقل کنم . اگه میشه بیشتر راهنمایی کنید 
با تشکر و سپاس فراوان

----------


## mrm0101

سلام

اگر می مخواهید هفته ای یک بار اطلاعات به برنانه توی سایت منتقل بشوند کافی است از اس کیو ال سرور برنامه محلی بکاب بگیرید و این فایل را روی سرور ریستور بکنید

----------


## firststep

اصلاً اینطور نیست شما می تونین به در اینتراوی یا حالا همون سایتتون که می تونه با هر زبونی باشه ( asp,php ) همون دیتابیسی متصل بشین که توی مثلاٌ C#‎ بهش متصل شدین
پس دیتابیس ها می توننن یکی باشن

----------


## firststep

اها مثلا منظورتون اینه که داده ها رو اول توی یک کامپوتر به صورت محلی  save کنین (اون جا رو با C#‎‎ کار کردین) سپس در فرصت مناسب اطلاعات رو به سروری که در اون اینتراوب نصب  هست انتقال بدین
خوب اما نگفتین خروجی C#‎‎ چیه یا به عبارت دیگر دیتابیس که C#‎‎ چیه و دیتابیس intraweb تون چیه؟؟؟ بگین تا بگم بهتون

----------


## mrm0101

حضور محترم جناب :*r0leX*  
با عرض سلام و ادب و تشکر از راهمایی جامع شما
منطور امن از datasnap بر نامه ای لایه ای همون  Multi-Tier است که در ورژن 7 دلفی بنام midas شناخته می شد . در برنامه های لایه ای کاربر بصورت مستفیم با دیتابیس روی سرور ارتباط برقرار نمی کرد . یک برنامه کوچک واسطه بین دیتابیس و اپلیکیشین اصلی قرار می گرفت جهت امینت دیتابیس و کنترل صحت ورود اطلاعات 


در مورد سئوالتون : مخفی کردن آدرس فایل موقع دانلود با امکان دانلود فایل مربوطه به صورت تکه تکه 

اگر منطورتون توی پروژه های اینتراوب است  من توی پروژه هام لیست فایل ها را دریک جدول دیتابیس ذخیره می کنم . برای هر کاربر وقتی می خواد فایل را دانلود بکند بصورت رندم یک اسم اختصاص می دم و فایل اسم فایل رو برای هر کاربر تغییر می دهم که کسی با دونستن ادرس فایل ها نتونه هر فایلی خواست دانلود بکند . بعنی هر کاربر  موفع دانلود می تواند فقط یک اسم برای فایل داشته باشد 

با ارزوی موفقیت

----------


## fatemesoleimani

بله منظورم همین هست ؟ فرض کنید بانک اطلاعاتی sql باشه.

----------


## firststep

ببینید  اگر قرار است ساده کار کنید اطلاعاتتون رو توی یک فایل تکست بریزید -- منظوره من تک به تک رکورد ها و سپس توسط یک نرم افزار سوم که کارش اپدیت سازی هست (اونجایی که دسترسی دارین به اینترنت) اطلاعات تک به نک رکوردها رو بگیرین و درون دیتابیستون اینسر تش کنیین>>> البته می تونین به جای استفاده از برنامه سوم می تونین از خوده اینتراوب هم استفاده کنین که توصیه نم کنم اون شکلی راحت ترید<<<
حالا باز هم را ه حل هایه دیگه ای هم هست اما چون اظلاعاتم زیاد نیست نمی تونم بیشتر از این ...
اگر دیتابیس C#‎ هم اکسس باشه خوده فایل اکسس رو انتقال بدین به برنامه سوم و بعد از خوده اکسس رکورد رکورد بخونین وانتقال بدین دیگه نیاز به فایل تکسن نیست....

----------


## یوسف زالی

سلام.
نمی فهمم چرا سوالات سی شارپ اینجا مطرح می شه؟
در هر صورت در تکمیل فرمایشات دوستان عزیز؛ روشهای زیادی وجود داره که به نظر من بهترینش استفاده از وب سرویس است.
با استفاده از XML هم می شه که صورت ضعیف همون وب سرویسه.
حتی با متدهای get و post هم می شه دیتا فرستاد. در هر حال برنامه ای که روی سرور وجود داره چیه؟
اگر وب پیجه، وب سرویس بهترین گزینه،
اگر اپلیکیشنه، کانکت با استفاده از کامپوننت های سوکت،
اگر فقط دی بی ام اسه، و اجازه کانکت مستقیم دارید، کانکشن استرینگ و اتصال مستقیم،
اگر اجازه اتصال ندارید انتقال خود دی بی روی یکی از فولدر های سرور،
اگر هیچی هم ریموت روی سرور!!

شما دقیق مشخص کن چی می خواهی، چی داری، تا دوستان راهنمایی موضوعی و دیتیل تری کنند.

----------


## fatemesoleimani

من فعلا بدون استفاده از برنامه ویندوز می خوام با استفاده از خود sql در حالتی که به اینترنت وصل نشم داده ها را از sql به sql که تو اینترنت اپلود شده منتقل کنم با استفاده از ssis package تو خود sql کسی تا حالا این کار را کرده یعنی از طریق export دیتا بیس جدول مربوطه را به sql که انلاین هست و روی وب هست منتقل کنه تو روش export گزینه .netframework که از destinatiom انتخاب می کنیم ایا برای این کار هست اگه کسی با استفاده از این روش داده ها را انتقال داده یه راهنمایی کنه ایا این روش برای حالت که به اینترنت هم وصل نباشیم داده ها را منتقل می کنه ؟work station id تو این روش برای چیه ؟ دوستان راهنمایی کنید 

با تشکر و سپاس فراوان

----------


## یوسف زالی

خب باز هم بی ارتباط با بخشه.
در تالار اس کیو ال پیگیری کنید.

----------

