سؤال

هل استخدم أي شخص هذا من قبل ، أحتاج إلى بلد مجاني ومدينة وقاعدة بيانات IP لـ SQLServer

هل كانت مفيدة؟

المحلول

ipinfodb توفير بيانات تحديد الموقع الجغرافي المجاني لـ MySQL. مع مترجم قاعدة بيانات بسيط ، يمكنك وضعه في قاعدة بيانات مختلفة ، لأن بنية الجدول بسيطة. كما أنها توفر بيانات بتنسيق CSV ، والتي سيكون من الأسهل استيرادها إلى محرك قاعدة بيانات مختلفة.

تعتمد البيانات على إصدار مجاني من MaxMind ، ويتم تحديثه كل شهر. كما أنها توفر واجهة برمجة تطبيقات مجانية ، إذا كنت لا ترغب في تخزين البيانات في الخادم الخاص بك. الدقة لائقة وافية لاستخدام الموقع العادي.

نصائح أخرى

لقد استخدمت http://www.maxmind.com/app/geolitecity . إنها نسخة أقل دقة من قاعدة البيانات المدفوعة. تدعي قاعدة البيانات المجانية أنها "أكثر من 99.5 ٪ على مستوى البلد و 79 ٪ على مستوى المدينة للولايات المتحدة ضمن دائرة نصف قطرها 25 ميلًا". يمكنك رؤية دقتها مفصلة في http://www.maxmind.com/app/geolite_city_accuracy.

يتم تقديم البيانات كملف CSV الذي يحتوي على كتلة IP للبدء ، وإنهاء كتلة IP ، والموقع. من السهل تحميلها في sqlserver.

يحتوي APIs في C ، C#، PHP ، Java ، Perl والإصدار المجاني ، Geolite ، على إصدار IPv6 بالإضافة إلى تنسيق CSV القابل للتنزيل.

إذا كنت بحاجة إلى العثور على موقع المستخدم الحالي استنادًا إلى عنوان IP الخاص به ، فيمكنك تجربة واجهة برمجة تطبيقات Google GeoLocation ، على وجه الخصوص google.loader.ClientLocation.

تحقق من مستندات Google API لمزيد من المعلومات:http://code.google.com/apis/ajax/documentation/#clientlocation

تحقق من قاعدة بيانات مدن العالم المجانية هذه http://www.sudostuff.com/world-cities-database-8.html

يشمل المدينة والمنطقة والبلد.

ملف تنسيق MySQL للتنزيل مع ثلاثة طاولات ، البلد ، المنطقة والمدينة.مخطط البلد

CREATE TABLE IF NOT EXISTS `country` (
`countryId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`code` VARCHAR(5) DEFAULT NULL,
`name` VARCHAR(150) DEFAULT NULL,
PRIMARY KEY (`countryId`)
) ENGINE=InnoDB;

INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(1, 'ad', 'andorra');
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(2, 'ae', 'united arab emirates');
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(3, 'af', 'afghanistan');
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(4, 'ag', 'antigua and barbuda');
INSERT INTO `country` (`countryId`, `code`, `name`) VALUES(5, 'ai', 'anguilla');

يمكنك العثور على قاعدة بيانات MySQL من هنا أيضًا ...

https://github.com/baraskar/worlds-country-state-and-city-mysql-database

اقتراحات دائما موضع ترحيب ...

ليس بالضبط لخادم SQL ولكن بالنسبة لـ MySQL ، أقترح عليك أن تخترق مستودع GitHub:

https://github.com/turalus/opendb

Geonames هي بيانات مجانية ولكن الكثير والكثير من البيانات. تحتاج إلى DBA لتنظيف البيانات. لكنه جهد لمرة واحدة لتنظيف البيانات حسب المتطلبات. انتهى بي الأمر بحجم ملف 1.3 جيجابايت بعد استخراج الرمز البريدي وتحميل هذه البيانات إلى DB أيضًا يتطلب أجهزة قوية جيدة.

بيانات MaxMind قديمة جدًا وقد توقفوا عن تحديث البيانات المجانية التي توفرها

ثم هناك العديد من مصادر البيانات المدفوعة ولكن قائمة أقل تكلفة وجيدة التي استخدمتها في وقت ما قاعدة بيانات مدن العالم من قبل http://www.worldcitiesdatabase.com وهو بتكلفة معقولة.

بعد ذلك ، يمكنك إلقاء نظرة على خدمات البيانات المدفوعة MaxMind أيضًا ، لكنها مكلفة للغاية ما لم تكن ميزانيتك جيدة جدًا.

أتمنى أن يساعدك هذا.

انظر الى هذا

http://www.flagip.com

انظر قاعدة البيانات هنا -

http://myip.ms/info/cities_sql_database/world_cities_sql_mysql_database.html

لديهم بلدان / مدن ddatabase لخادم Microsoft SQL. رمز هنا -

CREATE TABLE countries (
  countryID varchar(3) NOT NULL,
  countryName varchar(52) NOT NULL,
  localName varchar(45) NOT NULL,
  webCode varchar(2) NOT NULL,
  region varchar(26) NOT NULL,
  continent varchar(15) NOT NULL,
  latitude float NOT NULL,
  longitude float NOT NULL,
  surfaceArea float NOT NULL,
  population int NOT NULL,
  PRIMARY KEY (countryID),
  UNIQUE (webCode),
  UNIQUE (countryName)
);


CREATE TABLE cities (
  cityID int NOT NULL,
  cityName varchar(50) NOT NULL,
  stateID int NOT NULL,
  countryID varchar(3) NOT NULL,
  latitude float NOT NULL,
  longitude float NOT NULL,
  PRIMARY KEY (cityID),
  UNIQUE (countryID,stateID,cityID)
);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top