以前有人用过这个,我需要免费的国家,城市,sqlserver的IP数据库

有帮助吗?

解决方案

ipinfodb 为MySQL提供免费的地理位置数据。使用简单的数据库转换器,您可以将其放入不同的数据库,因为表结构很简单。它们还以CSV格式提供数据,这将更容易导入到不同的数据库引擎。

该数据基于MaxMind的免费版本,并且每个月都会更新。如果您不想将数据存储在服务器中,它们还提供免费的API。准确性很好,足以满足网站的正常使用。

其他提示

我使用过 http://www.maxmind.com/app/geolitecity 。它是付费数据库的不太精确的版本。免费数据库声称在一个国家级别上超过99.5%,在25英里范围内对美国城市级别为79%“。您可以在 http://www.maxmind.com/app/geolite_city_accuracy 上查看其准确性。

数据显示为CSV文件,包含起始IP块,结束IP块和位置。加载到sqlserver很容易。

C,C#,PHP,Java,Perl和免费版GeoLite中的API除可下载的CSV格式外还有IPv6版本。

如果您需要根据用户的IP地址查找当前用户的位置,则可以尝试使用Google Geolocation API,特别是 google.loader.ClientLocation

查看Google API文档了解详情: http://code.google.com/apis/ajax/documentation/#ClientLocation

查看这个免费的世界城市数据库 http://www.sudostuff.com/世界城市数据库-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-国家,国家和市的MySQL数据库

建议随时欢迎......

不完全是针对SQL Server而是针对MySQL,我建议您检查一下这个GitHub存储库:

https://github.com/turalus/openDB

Geonames是免费数据,但有大量数据。您需要DBA来清理数据。但是,按照您的要求清理数据负载是一次性的努力。在解压缩后我最终获得了1.3 GB的文件大小,并且将这些数据加载到DB也需要一个功能强大的硬件。

maxmind数据非常陈旧,他们已停止更新提供的免费数据

然后有许多付费数据来源,但列出了我从 http中使用的世界城市数据库中使用最便宜和最好的数据源://www.worldcitiesdatabase.com ,费用合理。

然后你可以查看maxmind付费数据服务,但除非你的预算非常好,否则它们的成本非常高。

希望这有帮助。

请在此处查看数据库 -

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

他们有Microsoft Sql Server的国家/城市数据库。代码 -

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