NHibernate의 schemaexport 함수로 Oracle DB를 생성하는 데 문제가 있습니다. byte []로 정의 된 속성의 경우 RAW 유형의 DB 필드를 만듭니다 (btw는 2000 바이트로 제한됨). 이 필드 유형은 내 필요에 충분하지 않으며 NH 대신 BLOB 필드를 만들 필요가 있습니다. 어떻게해야합니까? 매핑 파일 (나는 hbm 파일을 사용하여 xml 매핑을 사용)에서 필드를 선언하려했으나 type = "Binary"및 type = "BinaryBlob"중 하나를 지정했지만 그 중 아무 것도 원하는 효과가없는 것 같습니다. 생성 된 필드는 항상 RAW. 누구도 나를 도와 줄 수 있습니까?Oracle Blob 필드에 대한 NHibernate 스키마 내보내기 문제
1
A
답변
1
<property name="prop">
<column name="blobcolumn" sql-type="BinaryBlob">
</property>
업데이트 : 나는 비슷한 문제를 가지고 있었고,이 솔루션은 길이 속성 어쩌면이 또한 트릭
<property name="prop" type="Binary" length="1000000"/>
1
을 할 수있는 :
<property name="Attachment" length="5224880"/>
것은 당신이 다음 어떤 길이를 지정하지 않으면 어떤 당신은 그것의 최대가 2000 바이트이기 때문에 oracle에서 RAW (2000)로 끝날 것 같은 type 속성을 씁니다. 그러나 여러분이 5 MB 또는 바이트 5224880 바이트를 필요로한다면 nhibernate 스위치는 BLOB automaticall Y는 2000 바이트
그래서 닷 넷 속성이
public virtual byte[] Attachment { get; set; }
적절한 매핑이
<property name="Attachment" length="5224880"/>
될 것이라고 아니면 코드베이스에서 OracleLiteDialect.cs을 탐색 할 수 있습니다 부여 (소스 코드를 다음 더 큰 있기 때문에) Nhibernate
0
만약 누군가가 컨벤션 방식으로 byte [] 타입을 BLOB로 변환하고자한다면 나는 이것을
public class ByteArrayToDbBlobConvention : IPropertyConvention, IPropertyConventionAcceptance
{
public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
{
criteria.Expect(x => x.Type == typeof(byte[]));
}
public void Apply(IPropertyInstance instance)
{
instance.CustomSqlType("BLOB");
}
}
관련 문제
- 1. NHibernate - 스키마 내보내기
- 2. NHibernate Oracle XMLType 문제
- 3. Fluent Nhibernate 내보내기 스키마 및 테이블 변경
- 4. nHibernate 스키마 업데이트 실패
- 5. oracle blob 텍스트 검색
- 6. VB6을 사용하여 Oracle BLOB 필드에 파일을 업로드하는 방법은 무엇입니까?
- 7. SQL Server 2008에 대한 무료 스키마 내보내기?
- 8. Oracle BLOB 열 읽기
- 9. 다중 값 필드에 대한 solr 스키마
- 10. 배열의 필드에 대한 Mongokit 스키마 인덱스
- 11. 내 BLOB 필드에 무엇을 저장해야합니까?
- 12. Nhibernate 스키마 clasue
- 13. NHibernate 스키마 생성
- 14. 다중 데이터베이스 스키마 내보내기
- 15. 두 필드에 대한 NHibernate Expression.Like 기준
- 16. SQL 바이너리/BLOB 데이터 내보내기?
- 17. NHibernate 스키마 내보내기를 사용하여 Oracle 트리거를 생성하는 방법은 무엇입니까?
- 18. Blob/Longtext 필드에 인덱스 적용
- 19. NHibernate + Fluent NHibernate + Oracle 인덱스
- 20. NHibernate 3.2와 Paging Oracle
- 21. Fluent Nhibernate 스키마 생성
- 22. Oracle BLOB 추출 매우 느림
- 23. Oracle PM 스키마 다운로드
- 24. Oracle 스키마 의심?
- 25. Oracle 스키마 이름
- 26. oracle 8i에서 대량 내보내기
- 27. 트랜잭션에 대한 nhibernate 세션 문제
- 28. Nhibernate - forign key없이 스키마 생성
- 29. 나는 BLOB 필드에 삽입하려면 다음 코드를 사용하고 BLOB 데이터 타입
- 30. Nhibernate Spatial Oracle Provider
당신은 SQL 형식의 가능한 값을 어디에서 찾을 수 있습니까? 'type = "BinaryBlob"'과의 차이점은 무엇입니까? – themarcuz
'sql-type'은 데이터베이스에 존재하는 데이터베이스 유형을 지정합니다. 사전 정의 된 값이 있는지 또는 sqlcreatescript에서만 문자열로 전송되는지는 알 수 없습니다. – Firo