免费国家,sql server的城市数据库

时间:2009-03-07 05:09:05

标签: database ip-geolocation country city

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

9 个答案:

答案 0 :(得分:13)

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

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

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

答案 1 :(得分:10)

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

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

答案 2 :(得分:8)

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

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

答案 3 :(得分:1)

检查这个免费的世界城市数据库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');

答案 4 :(得分:1)

你也可以从这里找到Mysql数据库......

https://github.com/baraskar/Worlds-Country-State-and-City-Mysql-Database

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

答案 5 :(得分:1)

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

Documentation

答案 6 :(得分:1)

Geonames是免费数据,但是有很多数据。您需要一个DBA来清理数据。但是,根据您的要求清理负载数据只是一次工作。 zip解压缩后,我最终获得了1.3 GB的文件大小,并将此数据加载到DB也需要强大的硬件。

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

然后有很多付费数据源,但列出了我有时使用的http://www.worldcitiesdatabase.com成本最低,成本也最高的良好数据库。

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

希望这会有所帮助。

答案 7 :(得分:0)

答案 8 :(得分:0)

请在此处查看数据库 -

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)
);