여기 DBA가 MySQL 데이터베이스의 DECIMAL (39,0) 필드에 IP 주소를 저장한다고합니다.Java : MySQL DECIMAL (39,0) IP 주소를 String으로 변환하는 방법
문자열로 변환하여 다른 응용 프로그램으로 전달하려면 어떻게해야합니까?
참고 : 데이터베이스는 더 이상로드 할 수 없으므로 가능한 한 많은 작업이 Java 응용 프로그램에서 수행되어야합니다.
주 2 : IPv6 지원은 필수입니다.
여기 DBA가 MySQL 데이터베이스의 DECIMAL (39,0) 필드에 IP 주소를 저장한다고합니다.Java : MySQL DECIMAL (39,0) IP 주소를 String으로 변환하는 방법
문자열로 변환하여 다른 응용 프로그램으로 전달하려면 어떻게해야합니까?
참고 : 데이터베이스는 더 이상로드 할 수 없으므로 가능한 한 많은 작업이 Java 응용 프로그램에서 수행되어야합니다.
주 2 : IPv6 지원은 필수입니다.
문제가 해결되어 데이터베이스 담당자가 대신 VARCHAR로 저장할 것을 확신했습니다.
사용
INET_NTOA
예 : IPADDR AS INET_NTOA (NUM)를 선택;
및
INET_ATON예 : IPv4의 원래 IP 주소를 갖도록 설계 되었기 때문에 INSERT INTO addrTbl 값은 (..., INET_ATON ('192.168.0.1'), ...)
이 정의 작품 32 비트 숫자로. dot-decimal notation은 읽기 쉽도록 작성되었습니다.
업데이트
자바에있는 점 진수 표기법으로 숫자에서 변환을 수행 할 경우, MindProd site has an example.
주소 변환을 위해 IPv6 번호를 구성하려고 시도했습니다. 전에 말했듯이 BigDecimal (MySQL DECIMAL 유형에 매핑 됨)을 사용할 수 있지만 터프한 작업입니다. –