2010-01-13 8 views
2

J'essaie de trouver des bases de données avec le support des adresses IP en tant que type natif (par opposition à stocker en tant que chaîne, ou un entier non signé, dont au moins un commentateur a déjà souligné ne fonctionnera pas pour IPv6). La principale raison pour laquelle je cherche ceci est la facilité de développement. Par exemple, le tri sur une colonne d'adresse IP "native" serait correct (par opposition à quand il est stocké sous forme de chaîne). Je suppose que la prise en charge d'un tel type inclurait également des opérations utiles telles que la détermination si une adresse IP est à l'intérieur d'un réseau spécifié pour une utilisation dans les clauses WHERE.Quels moteurs de base de données prennent en charge les adresses IP en tant que type natif?

Le seul dont je suis au courant est PostgreSQL avec sa classe inet. Est-ce que quelqu'un en a d'autres?

+1

Pourquoi avez-vous besoin d'un tel type de données? Quelles opérations ou conversions avez-vous (ou que vous en avez besoin) que d'autres types de données n'ont pas? –

+0

Si vous ne trouvez pas de support natif, gardez à l'esprit qu'un entier non signé ne suffira pas pour les adresses IPv6. –

+1

Alors pourquoi pas Postgres? – Jamol

Répondre

0

Pas une réponse à quels moteurs, mais si votre base de données ne le supporte pas, l'encapsuler dans une fonction ou définir un type personnalisé devrait être assez simple. J'ai fait quelque chose de similaire pour les GUID dans Informix il y a quelques temps.

1

Vous pouvez également définir un domaine: les domaines sont faits pour ce genre de choses!

+0

Hélas, toutes les fonctions de base de données ne prennent pas en charge les domaines définis par l'utilisateur. – APC