Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chuyển đổi DT_TEXT trong SSIS 2012 cho Oracle CLOB

Hóa ra là Thành phần tập lệnh SSIS đã thắng ' không cho phép Đầu ra luồng văn bản đã có câu trả lời, nhưng tôi phải tìm hiểu ý nghĩa của các trường trong câu trả lời.

Tôi sẽ giải thích tất cả các phần để có thể hiểu rõ điều gì đang xảy ra.

Thành phần Tập lệnh có Đầu ra được gọi là Đầu ra 0, với các Cột đầu ra dự báoXML. Đó là những tên mặc định ngoại trừ tên cuối cùng. dự báoXML có kiểu dữ liệu là Luồng văn bản [DT_TEXT]

Trong chính tập lệnh, tôi có một chuỗi có tên dự báoXML (vâng, cùng tên, điều này khiến nó khó hiểu.)

Sau khi điền vào chuỗi dự báoXML với dữ liệu, tôi có thể gán nó cho Bộ đệm đầu ra bằng các dòng sau:

String forecastXML = oResult.XmlResult;
Output0Buffer.AddRow();
Output0Buffer.forecastXML.AddBlobData(System.Text.Encoding.UTF8.GetBytes(forecastXML));

Dòng đầu tiên hoạt động cho tất cả các kiểu dữ liệu. Bởi vì tôi đang viết cho một NTEXT, dòng thứ hai là cần thiết, thay vì một bài tập thẳng. Output0Buffer.forecastXML đề cập đến kiểu dữ liệu NText được xác định trong Đầu ra của tôi 0. Cái cuối cùng là chuỗi của tôi từ mã.

Để rõ ràng hơn, thay vì tạo một chuỗi, tôi nên có

Output0Buffer.forecastXML.AddBlobData(System.Text.Encoding.UTF8.GetBytes(oResult.XmlResult));

trong đó oResut.XmlResult là kết quả của cuộc gọi của tôi lấy XML. Gán nó cho một chuỗi là một bước bổ sung, không cần thiết.

Điều này sẽ đến với Oracle CLOB, vì vậy bước tiếp theo là đưa đầu ra đó vào Cột có nguồn gốc và truyền đầu ra của tôi dự báoXML dưới dạng (DT_NTEXT) dự báoXML. (Tôi nghi ngờ mình đang thực hiện một số thay đổi không cần thiết về loại.)

Và sau đó, tôi ánh xạ trường đó với trường CLOB của tôi trong Đích OLE DB của tôi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để sao chép hoặc nhập các lược đồ Oracle giữa hai cơ sở dữ liệu khác nhau trên các máy chủ khác nhau?

  2. Làm thế nào để viết / cập nhật Oracle blob một cách đáng tin cậy?

  3. Lịch sử bế tắc trong Oracle?

  4. Tổng hợp kết nối Oracle trong .Net

  5. Các giá trị NULL ảnh hưởng đến hiệu suất trong tìm kiếm cơ sở dữ liệu như thế nào?