Autor Beitrag
icho2099
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 101
Erhaltene Danke: 12

WIN XP, WIN 7, WIN 10
Delphi 6 Prof, Delphi 2005, FPC
BeitragVerfasst: Mi 29.09.21 18:59 
Hallo, ich habe einen Knoten im Hirn, den ihr sicher ganz leicht lösen könnt.

Möchte auf einem MSSQL Server Geodaten ablegen und dazu dies verwenden:
ausblenden SQL-Anweisung
1:
2:
3:
INSERT INTO [JP].[dbo].[F0116_EXT]
( [LOC], [AN8])
VALUES ( geography::STPointFromText( 'POINT(3.1172070745378733 39.808602472767234)'4326) , 99999993 )


Mit dem Mangement Studio kein Problem, wird fehlerfrei ausgeführt.

Aber wenn ich jetzt einer Zeos Query (Connection ist ADO) versuche das als SQL.Text ausführen zu lassen,
dann hagelt es Fehlermeldungen. Angemeckert wird, das der String-Parameter für STPointFromText(), also das 'POINT(x , y)' ungültig sei.
Habe auch versucht den ganzen String als Parameter zu übergeben, funktioniert nicht.
Auch nur den POINT(x , y) teil als Parameter.AsString funktioniert nicht.
Alles in SQL.Text mit verdoppelten Hochkommata (ist das gendergerecht geschrieben) funktioniert auch nicht.
Letztendlich würde ich gerne die beiden Koordinaten und die ID (AN8) als Parameter der Query übergeben.


Hat jemand eine Entknotung bitte ???
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 29.09.21 20:04 
Hab Zweifel das ADO überhaupt UDTs kann. Die letzte Version von ADO fällt ziemlich genau zusammen mit dem Zeitpunkt als der SQL Server user defined types für sich erfunden hat also so ungefähr 2005/2006. (und geography ist ein user defined type auch wenn Microsoft den mitliefert).

Scheinbar kann man aber im connection string mitgeben das Udts richtig gemappt werden. Vielleicht hilft das.
Sollte eigentlich nur hilfreich sein wenn man Parameter verwendet aber wer weiß was ZEOS anstellt bevor es die Query zum Server schickt.

www.connectionstring...with-new-data-types/

Für diesen Beitrag haben gedankt: icho2099
icho2099 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 101
Erhaltene Danke: 12

WIN XP, WIN 7, WIN 10
Delphi 6 Prof, Delphi 2005, FPC
BeitragVerfasst: Fr 01.10.21 14:11 
Deine Zweifel sind wohl berechtigt, hatte zumindest keinen Erfolg...

Habe jetzt einen Work-Around mit einer stored procedure, ist zwar etwas umständlicher,
funktioniert aber (erstmal)