quelqu'un a-t-il déjà utilisé cela auparavant? J'ai besoin d'une base de données IP, pays, ville gratuite pour sqlserver
ipinfodb fournit des données de géolocalisation gratuites pour MySQL. Avec un simple traducteur de base de données, vous pouvez le placer dans différentes bases de données, car la structure de la table est simple. Ils fournissent également des données au format CSV, qui seront plus faciles à importer dans différents moteurs de base de données.
Les données sont basées sur la version gratuite de MaxMind et sont mises à jour tous les mois. Ils fournissent également une API gratuite si vous ne souhaitez pas stocker les données sur votre serveur. La précision est correcte et suffisante pour une utilisation normale du site Web.
J'ai utilisé http://www.maxmind.com/app/geolitecity . C'est une version moins exacte de leur base de données payée. La base de données gratuite affirme être "plus de 99,5% au niveau des pays et 79% au niveau des villes des États-Unis dans un rayon de 25 miles". Vous pouvez voir leur précision en détail sur http://www.maxmind.com/app/geolite_city_accuracy .
Les données sont présentées sous la forme d'un fichier CSV contenant le bloc IP de départ, le bloc IP de fin et l'emplacement. Il est assez facile de charger dans sqlserver.
Les API en C, C #, PHP, Java, Perl et la version gratuite, GeoLite, ont une version IPv6 en plus du format CSV téléchargeable.
Si vous devez rechercher l'emplacement de l'utilisateur actuel en fonction de son adresse IP, vous pouvez essayer l'API de géolocalisation de Google, en particulier google.loader.ClientLocation
.
Consultez la documentation de l'API Google pour plus d'informations: http://code.google.com/apis/ajax/documentation/#ClientLocation
Geonames est des données gratuites mais beaucoup, beaucoup de données. Vous avez besoin d'un DBA pour nettoyer les données. Mais c’est un effort ponctuel de nettoyer le chargement des données selon vos besoins. Je me suis retrouvé avec une taille de fichier de 1,3 Go après extraction Zip et le chargement de ces données dans la base de données nécessite également un matériel puissant et performant.
les données de maxmind sont très anciennes et elles ont cessé de mettre à jour les données gratuites fournies par le fournisseur.
Ensuite, il existe de nombreuses sources de données payantes, mais répertoriant celle qui est la moins coûteuse et la meilleure que j'ai utilisée parfois dans la base de données des villes du monde à partir de http://www.worldcitiesdatabase.com et qui est à un coût raisonnable.
Ensuite, vous pouvez également consulter les services de données payants maxmind, mais ils sont très coûteux, sauf si votre budget est très bon.
J'espère que cela t'aides.
Vous pouvez trouver la base de données Mysql ici aussi ...
https://github.com/baraskar/Worlds-Country-State-and-City-Mysql-Database
Les suggestions sont toujours les bienvenues ...
Pas exactement pour SQL Server, mais pour MySQL, je vous suggère de vérifier ce dépôt GitHub:
Vérifiez cette base de données de villes du monde libre http://www.sudostuff.com/world-cities-database-8.html
Comprend la ville, la région et le pays.
Fichier au format MySQL à télécharger avec trois tableaux, pays, région et ville. Schéma du pays
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');
Voir la base de données ici -
http://myip.ms/info/cities_sql_database/World_Cities_SQL_Mysql_Database.html
Ils ont une base de données pays/villes pour Microsoft Sql Server. Voici le code -
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)
);
Regarde ça