ฉันมีแหล่งฐานข้อมูล PostgreSQL ดั้งเดิม (ODBC) ที่ฉันพยายามโยกย้ายไปยัง SQL Server schema ใหม่โดยใช้ SSIS ฉันได้รับคำเตือนว่า:
มีการบังคับใช้วิธีการดึงข้อมูล 'Row by Row' เนื่องจากตารางมีคอลัมน์ LOB เนื้อหาคอลัมน์คือ LOB
ไม่มีคอลัมน์ใดต้องเป็น LOB มีบางประเภทที่เป็นข้อความ แต่สามารถใส่ได้อย่างง่ายดายภายใน varchar (สูงสุด) แม้จะเป็นคนแปลกหน้า แต่ส่วนใหญ่แล้วเป็น varchars แต่ดูเหมือนว่ามีอะไรมากกว่า varchar (128) ที่กำลังได้รับการปฏิบัติเสมือนว่าเป็น LOB (เป็นคุณสมบัติล่วงหน้าประเภทของข้อมูลคือ DT_NTEXT)
เหตุการณ์ฉันพยายามทำคำสั่ง SQL ด้วยตนเองซึ่งฉันได้ casted สตริงทุกประเภทให้เป็น varchar ที่มีความยาวที่เหมาะสมในคำสั่ง select และพวกเขายังคงถูกตั้งค่าเป็น DT_NTEXT ในแหล่ง ODBC
ฉันไม่ใช่ DBA ดังนั้นจึงเป็นไปได้ทั้งหมดที่ฉันจะทำอะไรที่โง่จริงๆ ฉันแค่อยากจะรู้วิธีที่ดีที่สุดเพื่อให้แน่ใจว่าประเภทจะจบลงด้วย varchars ดังนั้นฉันจึงสามารถดึงข้อมูลเป็นกลุ่มได้ ความคิดใด ๆ
ในกรณีที่เป็นเรื่องสำคัญฉันกำลังใช้ SSIS-BI 2014 ใน Visual Studio 2013
varchar(max)
เพียงแค่จดชวเลขเพื่อบอกว่าข้อมูลคอลัมน์สามารถพอดีกับขนาด varchar สูงสุดซึ่งประมาณ 4,000 สำหรับวัตถุประสงค์ของ SSIS ฉันไม่ได้จริงหล่ออะไรที่จะvarchar(max)
; แม้ว่าฉันจะโยนคอลัมน์ไปvarchar(4000)
เพื่อความปลอดภัย