NetTopologySuite.IO.Oracle
4.0.0
Prefix Reserved
dotnet add package NetTopologySuite.IO.Oracle --version 4.0.0
NuGet\Install-Package NetTopologySuite.IO.Oracle -Version 4.0.0
<PackageReference Include="NetTopologySuite.IO.Oracle" Version="4.0.0" />
<PackageVersion Include="NetTopologySuite.IO.Oracle" Version="4.0.0" />
<PackageReference Include="NetTopologySuite.IO.Oracle" />
paket add NetTopologySuite.IO.Oracle --version 4.0.0
#r "nuget: NetTopologySuite.IO.Oracle, 4.0.0"
#:package NetTopologySuite.IO.Oracle@4.0.0
#addin nuget:?package=NetTopologySuite.IO.Oracle&version=4.0.0
#tool nuget:?package=NetTopologySuite.IO.Oracle&version=4.0.0
Usage
Reading
// SdoGeometry from somewhere, e.g. OracleDataReader or OracleCommand.ExecuteScalar()
SdoGeometry oracleUdtGeom;
// Instantiate OracleGeometryReader
var ogr = new NetTopologySuite.IO.OracleGeometryReader(NetTopologySuite.NtsGeometryServices.Instance);
// Transform geometry
var ntsGeom = ogr.Read(oracleUdtGeom);
Writing
// NTS geometry from somewhere
Geometry ntsGeom;
// Instantiate OracleGeometryWriter
var ogw = new NetTopologySuite.IO.OracleGeometryWriter();
// Transform geometry
var oracleUdtGeom = ogw.Write(ntsGeom);
// Create an OracleParameter for the geometry
var oracleParam = new OracleParameter() {
// Name of parameter used in SQL command (:geom)
ParameterName = "geom",
DbType = DbType.Object,
Direction = ParameterDirection.Input,
// Name of the udt type as in Oracle database
UdtTypeName = "MDSYS.SDO_GEOMETRY"
};
// Assign the geometry value
oracleParam.Value = oracleUdtGeom;
Integration tests
Requirements
In order to perform the tests, a Docker container with an Oracle XE database has to be available. One that worked for us is oci-oracle-xe:
docker pull docker pull gvenzl/oracle-xe:latest
Make sure you bind the correct port when running the image:
docker run -d -p 1521:1521 -e ORACLE_PASSWORD=secret gvenzl/oracle-xe
You should be able to connect using the following values: Property | Value --- | --- hostname | localhost port | 1521 sid | xe username | system password | oracle
Make sure you change the connectionstring in the test project's App.config to match with whatever test database you want to run the tests against. The default settings assume the above docker image is running on localhost.
Performing the tests
- Open the solution 'NetTopologySuite.IO.Oracle.sln'
- Go to Test > Test Explorer
- Run the tests (should be all green)
The integration test is fairly simple: it creates a table with a geometry column, writes a row, reads it back and compares the two versions for equality. After that it drops the table again. You should be able to run this against any database, the table name created and dropped is defined at the tope of the test class (="NTS_TEST_GEO_DATA").
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- NetTopologySuite (>= 2.1.0 && < 3.0.0-A)
- Oracle.ManagedDataAccess (>= 23.8.0)
-
.NETStandard 2.1
- NetTopologySuite (>= 2.1.0 && < 3.0.0-A)
- Oracle.ManagedDataAccess.Core (>= 23.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.