نمایش نتایج 1 تا 6 از 6

نام تاپیک: اجرای یک فایل SQL

  1. #1

    اجرای یک فایل SQL

    می خواهم یک فایل SQL را در داخل فاکس اجرا کنم
    درنظر بگیرید که یک سری مجموعه دستورات SQL که در یک فایل ذخیره شده است را بخواهیم اجرا کنیم و یا ساده تر اینکه در MS-SQL و یا MYSQL از جدول خروجی SQL گرفته ایم
    (که بصورت دستورات SQL ابتدا جدول ایجاد و سپس توسط دستور INSERT INTO رکوردها داخل آن اد می شوند)
    و حال می خواهیم آن را در فاکس اجرا کنیم
    نکته : درنظر بگیرید که در سیستمی این فایل می خواهد اجرا شود که هیچ کدام از این نرم افزارها مدیریت اطلاعات مثل MS-SQL, ... وجود ندارد
    با استفاده از دستور SQLEXEC فکر کنم بتوان اینکار را کرد ولی مشکل اینجاست که ابتدا توسط SQLCONNECT باید اتصالی با یک دیتابیس اینجین انجام دهیم و سپس اینکار را بکنیم و با توجه به اینکه روی سیستم کاربر نرم افزار بانک اطلاعاتی نیست چگونه اینکار را باید انجام داد؟

  2. #2
    سلام

    آدرس سرور را بدهید که بر روی آن بانک و مدیر بانک است. همچنین درایور باید نصب باشد مثلا mysql باید درایور مربوطه را داشته باشد.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  3. #3
    با تشکر
    ولیکن منظور من بدون وجود هیچ کدام از برنامه های مدیریت بانک اطلاعاتی همچون mysql,... و همچنین بدون وجود سرور و شبکه بلکه بصورت single system و بر روی سیستم کاربر می باشد
    یک مثال ساده: از یک جدول در محیط phpmyadmin خروجی sql گرفته ایم (فایل تکستی که شامل دستورات sql جهت ایجاد (create table ....) و افزودن اطلاعات به بانک (insert into ....) حالا آن فایل تکست را به سیستمی دیگر که هیچ برنامه ی مدیریتی بانک اطلاعاتی روش نصب نیست و در شبکه نیز نمی باشد منتقل کرده و می خواهیم توسط برنامه اجرایی ما (ویژوال فاکس) اطلاعات آن را بخوانیم و اجرا کنیم (یعنی جدول مورد نظر را ایجاد کنیم و دستورات insert را اجرا کنیم)

    راه حلی که به نظر خودم رسید خواندن کلیه محتویات فایل در یک رشته filetostr و سپس تقطیع آن بر اساس کاراکتر ; و سپس پردازش آن
    بدین صورت که سطر اول باید جدول موردنظر ایجاد شود (مقدار دستکاری جهت تبدیل نوع فیلدها جهت اجرا در محیط فاکس نیاز دارد) و سپس سطرهای بعدی را بصورت نرمال در یک متغیر ریخته و محتوی متغیر را اجرا کنیم

    ولی به دنبال روشی غیر از این روش هستم (همانطور که گفتم مثلا با استفاده از sqlexec ولی کانکت آن را باید یکجور بصورت فرضی انجام دهیم)

    سوال دیگر با توجه به این موضوع:
    آقای بی نیاز سورس کدی را از این سایتها معرفی کرده بودند جهت خواندن و بیرون کشیدن (export) جداول از فایل اکسس(mdb) اگر بخواهیم به کمک این روش جدولی را از فاکس به اکسس منتقل کنیم چگونه باید عمل کنیم (بانک اطلاعات اکسس را چگونه ایجاد کنیم؟ (فکر کنم بعدش به کمک همین sqlexec می توان اطلاعات را به بانک اطلاعات اضافه کنیم)
    آخرین ویرایش به وسیله پدرخوانده : سه شنبه 11 بهمن 1384 در 20:33 عصر

  4. #4
    سلام

    دوست عزیز یک مسئله ای اینجا هست که روشن نشده:

    شما اطلاعات را از چه بانکی باید بگیرید؟ (فاکس یا MySQL)

    خب اگر MySQL باشه چطوری وقتی شما هنوز اون را روی سیستم خودتون ندارید ازش اطلاعات می خواهید؟

    اما اگر فاکس است و منظور شما Stored Procudure است که قضیا در فاکس پرو هم مصداق دارد.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  5. #5
    با تشکر
    اطلاعات از برنامه های که دارای تهیه خروجی sql هستند (مانند mysql) تهیه شده (که اینکار به راحتی توسط خود برنامه یا ابزاری که برای این کار هستند (مثلا phpmyadmin) انجام می شود)
    (که در حقیقت این فایل, یک فایل متنی است که دارای دستورات sql می باشد)

    حالا می خواهیم این فایل (این فایل خروجی mysql است) را بصورت کدنویسی در محیط ویژوال فاکس بخوانیم و اجرا کنیم البته در یک سیستم دیگر (به همین دلیل نیازی به وجود برنامه mysql نمی باشد )

    حالا نسبت به بحث Stored Procudure توضیح دهید که منظور شما چیست؟
    همانطور که قبلا گفتم می خواهیم این فایل sql را در داخل ویژوال فاکس اجرا کنم (دستوراتcreate ,insert , و دیگر دستورات sql)
    به زبان ساده تر بحث انتقال اطلاعات بین دیتابیس انیجین های مختلف با فاکس است
    (همانطور که فایل txt delemited و csv قابلیت انتقال بین دیتابیس های مختلف را دارند فایلهای sql (*.sql) نیز اینگونه است فقط این قابلیت باید توسط برنامه مقصد (که قرار است این فایل را import کند) وجود داشته باشد)

  6. #6
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107
    شما حتما باید sql server یا mysql رو نصب داشته باشید حالا یا روی همان دستگاه یا روی سرور
    در غیر اینصورت نمیشه
    حالا برای اتصال باید sqlstring بهش یک رشته که یوزرنام و پسورد و اسم دیتابیس و ... هست بدهید تا بتوانید یک کانکشن بسازید که این تابع یک عدد که هندل کانکشن شماست بر می گرداند حالا با دستور sqlexec می تونید هر دستوری رو که جزء TSQL هست رو اجرا کنید
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •