ایجاد دیتابیسی برای مناطق جغرافیایی ایران با استفاده از اکسل های ارائه شده توسط مرکز آمار
سلام. در پروژه ای نیاز داشتم که دیتابیسی از مناطق جغرافیایی ایران ایجاد کنم. با جستجو در اینترنت به دیتابیس مناسبی در گیت هاب رسیدم
این دیتابیس بروز بود اما کارفرما قبول نمی کرد که از آن استفاده کنم و می گفت که مناطق جغرافیایی را به صورت اکسل تحویل من می دهند تا دیتابیس را بر اساس آن آماده کنم. این فایل های اکسل اطلاعات بیشتری نسبت به اکسل های ارائه شده توسط مرکز آمار در خود داشت.
ابتدا فایل های اکسل را به محیط اکسس انتقال دادم.
Access > External Data > import & link > Excel
قبل از انتقال دیتا از اکسل به اکسس می بایست در سطر اول نام فیلدها را درج کنیم(مطمئنا به انگلیسی!)
حال باید اکسس را به MySql متصل کنیم. برای این کار نیاز است برنامه mysql-connector-odbc را نصب کنیم.
بعد از نصب به مسیر زیر می رویم( همین الان زمپ یا ومپ رو فعال کنید که به MySql متصل باشید که در ادامه مشکلی پیش نیاد)
cotrol Panel > Administrative Tools > ODBC Data Sources (64bit)
در پنجره باز شده در تب System DSN روی Add کلیک می کنیم درپنجره باز شده روی MySqul ODBC 5.2 Unicode Driver کلیک می کنیم حال در پنجره باز شده برای دیتا سورس نامی انتخاب می کنیم(این نام بعدا در اکسس هنگام انتقال دیتا از اکسس به MySql قابل مشاهده است). چون در هاست لوکال این کار را انجام دادم در قسمت IP Server مقدار 127.0.0.1 را وارد کردم و در فیلد User هم مقدار root را نوشتم. در پایان هم دیتابیسی هم که قرار است دیتاهای اکسس به آن انتقال یابد را انتخاب می کنیم(یعنی از قبل دیتابیسی در MySql می بایست ساخته باشیم)
حال به اکسس برمی گردیم.
با کلیک راست روی جدول ایجاد شده در اکسس
Export > ODBC Database
پنجره ای باز می شود به نام Select Data Source که در تب Machine Data Source ، نام دیتا سورسی که در مرحله قبل ساختیم قابل مشاهده است که با انتخاب آن و OK
دیتا به MySql انتقال می یابد.
در ادامه باید جداولی با ساختاری مشابه با دیتایبس معرفی شده در گیت هاب ایجاد می کردم(جداول مجزا برای استان، شهرستان، بخش، شهر، دهستان، آبادی) بنابراین با نوشتن کوئری های مناسب و ذخیره این کوئری ها در جدول دیگر به هدفم رسیدم.مثالی در ادامه نوشتم:
CREATE TABLE ostan_loc SELECT * FROM iran_loc GROUP BY ostan
حال برای جدول ایجاد شده فیلد دیگری به صورت primary key اضافه می کنیم.
و ...
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .