2014-04-30 1 views
2

sdo_geometry 유형의 필드에 대한 값을 가져오고 업데이트하기 위해 사용자 정의 C# 클래스를 작성하는 방법으로 고민하고 있습니다. oracle의 사용자 정의 유형이고 .net의 사용자 정의 유형)와 oracle 데이터베이스의 다른 필드가 있습니다.odp.net 관리 대상 클라이언트를 사용하여 sdo_geometry oracle udt에 대한 aC# custom class 작성 방법

내가 많이 봤 거든 오라클.DataAccess.dll (odp.net 관리되지 않는 드라이버) 내부에서 사용되는 유형의 도움으로 작성된 사용자 정의 코드를 받고 결국.

그러나 odp.net의 관리되는 버전 (Oracle.ManagedDataAccess.dll 포함)을 사용하여 동일한 사용자 정의 코드를 작성하도록 지시 받았지만이 DLL을 살펴보면 Oracle에서 정의 된 일부 클래스와 인터페이스를 찾을 수 없습니다 .DataAccess.dll 그래서 준비된 코드를 활용할 수있는 위치에 있지 않았고 또한 odp.net 관리 드라 이버로 작성된 코드를 배포하는 것이 odp.net 관리되지 않는 드라이버와 비교하기 쉽다고 들었습니다.

심지어 Visual Studio 내부에서 사용자 지정 클래스 코드 생성기를 사용해 보았지만 완성되지 못하고 오류가 발생하는 대신 C# 사용자 지정 클래스를 제공하지 않습니다.

모든 제안은 매우 감사하겠습니다.

답변

2

오라클 제품 개발 팀의이 게시물 당 현재 관리 대상 드라이버에서 UDT를 사용할 수 있다고 생각지 않습니다. 그러나 래퍼 함수/procs/packages를 통해 UDT를 사용하지 않고 직렬화하면 성공할 수 있습니다.

Migration Guide for ODP.NET Managed Driver Oracle.ManagedDataAccess (from Unmanaged Driver - Oracle.DataAccess)

Alex_Keh - Oracle_Product_Manager 2014년 3월 31일 오전 11시 11분 (kiquenet에 따라 에)

UDT를하고 VARRAYs 아직 관리 ODP.NET에서 지원되지 않습니다.

지원되는 기능의 경우 마이그레이션은 네임 스페이스 참조 및 관리 ODP.NET이 * .ora 구성 파일을 찾는 방식을 변경하는 것처럼 간단해야합니다.

+0

예 이전에 알아 냈으니 답장을 보내 주셔서 감사합니다. – user2913184

2

아마도 이것이 무엇입니까? https://github.com/mapspiral/NetSdoGeometry/? 나는 현재이 패키지를 사용하여 Oracle 11.2에서 SDO_GEOMETRY를 검색하고 ".net-domain"에 매핑하여 매력처럼 작동합니다.

+0

감사합니다. – stambikk

+0

이 패키지는 관리되지 않는 드라이버 (Oracle.DataAccess)를 사용합니다. Managed Driver (Oracle.ManagedDataAccess)는 여전히 사용자 정의 유형을 지원하지 않습니다. [link] (https://docs.oracle.com/database/121/ODPNT/intro004.htm#ODPNT8146) – Martin

관련 문제