View Full Version : افزودن اطلاعات به انتهاي بانك اطلاعات اس كيو ال
DlphIran
پنج شنبه 12 شهریور 1388, 10:46 صبح
سلام
اول بگم قبلش جستجو كردم بدون نتيجه بود.
يه برنامه به زبان دلفي 6 با دستورات اس كيو ال دارم و يه بانك اطلاعاتي تحت اس كيو ال سرور 2000
مشكلي كه هست اينه كه بايد از درون برنامه با كليد F5 اطلاعاتي رو از بانك اطلاعاتي اس كيو ال سرور 2000 روي فلش مموري كه از يه كامپيوتر ديگه آورديم رو به انتهاي بانك اطلاعاتي فعال كامپيوتر خودمان اضافه كنيم ، اين كار چند وقت يكبار بايد توسط كاربر انجام بشه .
لطفا راهنماييم كنيد كه چطور ميشه اينكار رو انجام داد. :بوس:
hadisalahi2
پنج شنبه 12 شهریور 1388, 18:08 عصر
با سلام
دوست عزیز برای این کار شما می تونید از دو تا ADOC Connection استفاده کنید و یکی رو به بانک اطلاعاتی برنامه خودتون وصل کنید و دومی رو به بانک اطلاعات روی فلش.
حالا با نوشتن یک دستور Insert Select ساده می تونید اطلاعات رو از یک بانک به بانک دیگه منتقل کنید.
یا حق
DlphIran
شنبه 14 شهریور 1388, 09:59 صبح
متوجه نشدم ، يعني بدون attach كردن ديتابيس و بدون دادن آدرس در كانكشن استرينگ چطوري؟
ميشه واضح تر و با مثال بگين
hadisalahi2
شنبه 14 شهریور 1388, 13:41 عصر
با سلام.
خوب بدون متصل کردن پایگاه داده به موتور بانک اطلاعاتی که نمیتونید از اون استفاده کنید.
شما میتونید برای اینکه آدرس بانک اطلاعاتی که روی فلش هست رو در برنامتون مشخص کنید ،از یک OpenDialog استفاده کنید. بعد از انتخاب فایل بانک اطلاعاتی مسیر اون رو در Connection String کامپوننت ADOConnection بگذارید و بعد هم Connect رو True کنید.
اون بانک اطلاعاتی دیگه هم که جاش ثابته و میتونید مستقیم بهش متصل بشید.
DlphIran
یک شنبه 15 شهریور 1388, 15:22 عصر
اگه درست متوجه شده باشم ، من اومدم دستي آدرس فايل بانك اطلاعاتي رو دادم به connection string مثل روبرو : E:\t13 Software_date (اسم بانكم : T13 Software )
موقع اكتيو كردن كانكشن پيغام خطا ميده
DlphIran
چهارشنبه 18 شهریور 1388, 16:04 عصر
كسي جواب نمي ده ، يه مثال درباره تعيين مسير بانك اطلاعاتي در كانكشن استرينگ
hadisalahi2
چهارشنبه 18 شهریور 1388, 17:50 عصر
شما اگه از ADOConnection استفاده میکیند، بهتره یک بار به صورت ویژوال و از داخل دلفی با دابل کلیک بر روی گزینه Connection String و انجام تنظیمات به بانک اطلاعاتی خودتون متصل بشید. حالا برای اینکه با کد به بانک اطلاعات متصل بشید همون متنی رو که در پنجره Connection String ایجاد شده رو کپی کرده و به صورت دستی و در کد برنامه به خاصیت Connection String کامپوننت ADOConnection خودتون نسبت بدید و بعد هم خاصیت Connect رو True کنید.
در ضمن در صورتی که از ADO استفاده میکنید ، فکر نکنم به صورتی که شما نوشتید بتونید به بانک اطلاعاتی متصل بشید.
این روش مربوط به BDE هست که دیگه منسوخ شده.
در ضمن اگه نحوه ارتباط رو یاد ندارید از لینک زیر استفاده کنید.
http://barnamenevis.org/forum/showthread.php?t=168235
DlphIran
پنج شنبه 19 شهریور 1388, 09:22 صبح
ارتباط با كانكشن استرينگ رو كه فوت آبم .
من جوابمو نگرفتم ، دوباره سوالم رو مطرح ميكنم ،اول بگم از adoquery استفاده ميكنم.
من يه برنامه كتابداري دارم ، كه با يه بانك اطلاعات به اسم T4 Software متصل هست .
يه مدت يكبار از يه كامپيوتر ديگه از شهرستان ديگه بانك اطلاعاتي برنامه اونجا رو ميارن تا به انتهاي بانك اطلاعاتي كامپيوترمون اضافه كنيم يعني دو فايل T14 Software_data و T14 Software_log ااز روي فلش مموري يا حتي ممكنه از روي سي دي بخوايم اطلاعاتشون رو اضافه كنيم به انتهاي بانك اطلاعاتي فعال كامپيوترمون با زدن دكمه F5 .
كاربر كامپيوتر هم از اس كيو ال چيزي نمي دونه كه بتونه از اس كيوال سرور براي اينكار استفاده كنه .
با كد نويسي چطور ميشه اينكار رو انجام داد.
hadisalahi2
پنج شنبه 19 شهریور 1388, 10:03 صبح
با سلام
دوست عزیز من در چند پست قبل جواب این سوالتون رو دادم . من نمیدونم شما کجای این کار مشکل دارید ولی با این وجو دوباره کامل بهتون توضیح می دهم.
1- اول اینکه شما یه بانک اطلاعاتی دارید که به SQL Server متصله و با اون به راحتی کار میکنید و بانک اطلاعات اصلی شماست.
2- حالا بانک اطلاعاتی دیگه ای رو می خواهید وصل به Sql Server کنید.
3- خوب حالا فرقی نداره که اون بانک اطلاعاتی کجا قرار داشته باشه.
4- اول اون بانک اطلاعاتی جدید رو به Sql Server متصل کنید.
5- خوب حالا داخل برنامه یک ADO Connection جدید قرار بدید و اون رو به بانک اطلاعاتی جدید متصل کنید.
6- حالا یک ADOQuery دیگه روی فرم قرار بدید و اون رو به ADOConnection جدید متصل کنید.
7- حالا با یک دستور select داده های مورد نظر خودتون رو از جدول بانک اطلاعاتی بخونید و بعد هم با دستور Insert و یا با کپی رکورد به رکورد ، اطلاعات رو به جدول مورد نظر از بانک اطلاعاتی اصلی منتقل کنید.
8- همچنین با استفاده از Import و یا Export در داخل خود SQl SErver میتونید این کار رو خیلی راحت تر و سریعتر انجام بدید. اگه هدف همون کپی اطلاعات بین بانک های اطلاعاتی هستش.
هر جای توضیحات نامفهوم بود ، بگبد تا دو باره توضیح بدم . به شرطی که بگید دقیقا چرا نامفهوم بوده.
یا علی
DlphIran
پنج شنبه 19 شهریور 1388, 14:47 عصر
خيلي ممنون ، مشكل فقط موارد 4 و 5 و 6 هست.
وقتي يه بانك اطلاعاتي داريم ، نميشه بانك اطلاعاتي ديگري با همون نام ايجاد كرد،بعد با كد نويسي بينشون انتقال اطلاعات داد.
البته يه حدس ميزنم ببينيد درست ميگم ، شما ميگيد بانك اطلاعات اصلي كه هيچ مشكلي نداره
براي بانك اطلاعات فرعي ،بيايم و اين بانك هيچ ارتباطي با اس كيو ال سرور نداشته باشه و مستقيم با كانكشن استرينگ ارتباط پيدا كنه و از اين طريق با كد نويسي اطلاعات رو به انتهاي بانك اطلاعات اصلي اضافه كنيم.
اگه درست فهميدم ، فقط بگين آدرس دادن محل بانك اطلاعات فرعي توي كانكشن استرينگ
چه جوريه دقيقا ؟مثلا براي يه بانك با نام bank كه دو تا فايل داره ديتا و لاگين در درايو E
مرثي از حوصله تون
hadisalahi2
پنج شنبه 19 شهریور 1388, 16:56 عصر
خيلي ممنون ، مشكل فقط موارد 4 و 5 و 6 هست.
وقتي يه بانك اطلاعاتي داريم ، نميشه بانك اطلاعاتي ديگري با همون نام ايجاد كرد،بعد با كد نويسي بينشون انتقال اطلاعات داد.
البته يه حدس ميزنم ببينيد درست ميگم ، شما ميگيد بانك اطلاعات اصلي كه هيچ مشكلي نداره
براي بانك اطلاعات فرعي ،بيايم و اين بانك هيچ ارتباطي با اس كيو ال سرور نداشته باشه و مستقيم با كانكشن استرينگ ارتباط پيدا كنه و از اين طريق با كد نويسي اطلاعات رو به انتهاي بانك اطلاعات اصلي اضافه كنيم.
اگه درست فهميدم ، فقط بگين آدرس دادن محل بانك اطلاعات فرعي توي كانكشن استرينگ
چه جوريه دقيقا ؟مثلا براي يه بانك با نام bank كه دو تا فايل داره ديتا و لاگين در درايو E
مرثي از حوصله تون
با سلام
در مورد سوال اولتون باید بگم خیر، دو بانک اطلاعاتی همنام نمی تونند با هم دیگه به بانک اطلاعاتی متصل بشوند. حداقل من نتونستم این کار رو بکنم.
در مورد سوال دوم هم باید خدمتتون عرض کنم که ، برای بانک اطلاعات اصلی بله همون طوریه که فهمیدید.
در مورد بانک اطلاعاتی بعدی هم همین طوریه و اول بدون اتصال به بانک که نمیتونید ازش استفاده کنید، دوما خب کافیه اون رو هم به بانک متصل کنید.
در ضمن در مورد بانک اطلاعاتی SQl Server دیگه نیازی به دادن آدرس نیست.
در ضمن شما فقط فایل دیتا رو به بانک متصل میکنید و با اون کی دیگه کاری ندارید.
اگه هم میخواهید بیشتر در مورد نحوه های اتصال به بانک اطلاعاتی آشنا بشید، بهتره کلمه Connection String و یا MSDE رو داخل سایت جستجو کنید.
یا حق
DlphIran
یک شنبه 22 شهریور 1388, 13:20 عصر
كسي نيست راهنماييم كنه ؟ :عصبانی++:
DlphIran
دوشنبه 23 شهریور 1388, 16:54 عصر
???????????????????????????????????????????
hadisalahi2
سه شنبه 24 شهریور 1388, 12:17 عصر
خوب نگفتید کجاش مشکل داشت؟
من که گفتم موردی بگید تا راهنمایی کنم
ح.جبل عاملی
یک شنبه 05 مهر 1388, 16:45 عصر
یک دیتابیس در SQL بسازید با هرنام دلخواه. بعد فایلهای فرعی را با همان نام Attach کنید.
یک AdoConnection در فرم دلفی اضافه کنید(علاوه بر AdoConnection اصلی که برنامه قبلا با آن کار می کرده) و کانکشن استرینک AdoConnection اصلی را برای آن کپی کنید فقط بجای نام دیتابیس اصلی نامی که انتخاب کرده اید را بگذارید. حالا با دستور Select که از جداول دیتابیس جدید می گیرید به جداول دیتابیس اصلی اضافه کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.