2015년 9월 13일 일요일

위도(Latitude)와 경도(Longitude) 값을 이용한 거리계산



public double GetDistance(double lat1, double lon1, double lat2, double lon2)
        {
            double theta, dist;
            theta = lon1 - lon2;
            
            dist = Math.Sin(deg2rad(lat1)) * Math.Sin(deg2rad(lat2)) + Math.Cos(deg2rad(lat1))
                 * Math.Cos(deg2rad(lat2)) * Math.Cos(deg2rad(theta));
            dist = Math.Acos(dist);
            dist = rad2deg(dist);

            dist = dist * 60 * 1.1515;
            dist = dist * 1.609344;    // 단위 mile 에서 km 변환.  
            dist = dist * 1000.0;      // 단위  km 에서 m 로 변환  

            return dist;
        }
        /// 
        /// 주어진 Degree 값을 Radian 값으로 변환
        /// 
        /// Degree
        /// Radian
        private double deg2rad(double deg)
        {
            return (double)(deg * Math.PI / (double)180d);
        }
        /// 
        /// 주어진 Radian 값을 Degree 값으로 변환
        /// 
        /// Radian value
        /// Degree
        private double rad2deg(double rad)
        {
            return (double)(rad * (double)180d / Math.PI);
        }

2015년 9월 8일 화요일

The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)



Setp 1.
 ALTER DATABASE dbName
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Setp 2.
 ALTER DATABASE OldDbName MODIFY NAME = NewDbName
Setp 3.
 ALTER DATABASE dbName
SET MULTI_USER WITH ROLLBACK IMMEDIATE

2015년 9월 7일 월요일

CSV to MSSql (CSV파일을 이용한 테이블 Insert)



 BULK INSERT dbo.tableName FROM 'C\fileName.CSV' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')