파이썬에 대한 새로운 소식과 그것을 좋아하고, 이것이 단순한 것이라고 생각합니다.
저는 현재 pymssql의 도움으로 파이썬 스크립트를 통해 SQL Server 2008에 포인트를 삽입하고 있습니다.SQL Server에 포인트를 삽입 하시겠습니까?
var1 = "hi"
lat = "55.92"
lon = "-3.29"
cursor.execute("INSERT INTO table (field1, x, y) VALUES(%s, %s, %s)",
(var1 , lat, lon))
이 모든 것이 정상적으로 작동합니다. 그 좌표를 GEOGRAPHY type 필드 (geog)에 삽입해야합니다.
geog_type = "geography::STGeomFromText('POINT(%s %s)',4326))" % (lat, lon)
cursor.execute("INSERT INTO table (field1, x, y, geog) VALUES(%s, %s, %s, %s)",
(var1 , lat, lon, geog_type))
이 다음과 같은 예외가 발생합니다 :
레이블 지리 :: STGeomFro 텍스트 (WKT) 잘 알려진 입력에 유효하지 입니다. 유효한 레이블은 POINT, LINESTRING, POLYGON, MULTIPOINT, 다중 행, 다중 폴리곤, 기하 수집, 순환 선, COMPOUNDCURVE, CURVEPOLYGON 및 FULLGLOBE입니다 (지리 데이터 유형만 해당).
SSMS에서 포인트를 삽입하기 위해 테이블에 insert 문을 실행할 수 있습니다.
USE [nosde]
INSERT INTO tweets (geog)
VALUES(
geography::STGeomFromText(
'POINT(55.9271035250276 -3.29431266523898)',4326))
자세한 내용이 필요한 경우 알려 주시기 바랍니다.
전체 오류 메시지입니까? 그렇다면 오류가 "geography :: STGeomFromText"가 아닌 "geography :: STGeomFro"에 대해 불평하고 있으므로 실행 된 SQL에서 geog_type이 잘 리면 – Talvalin
문자열이 정확합니다. 다른 곳에 잘 렸습니다. http://pastebin.com/D5twLB5h – Simon