我有一個表StaffMaster其含有人員照片和該表的數據類型爲VARBINARY。所以,我想用c#代碼將此表導出爲csv文件格式。即使我試圖通過sql server導出任務手動導出該表。但它顯示以下錯誤。如何將二進制數據寫入csv文件?
- Validating (Error)
Messages
Error 0xc0208030: Data Flow Task: The data type for "input column
"StaffPhoto" (376)" is DT_IMAGE, which is not supported. Use DT_TEXT
or DT_NTEXT instead and convert the data from, or to, DT_IMAGE using
the data conversion component.
(SQL Server Import and Export Wizard)
我知道數據存儲在二進制(byte [])中。但是,我想知道是否有可能我可以將其轉換爲字符串,當我想將其導入到SQL Server數據庫時,它應該轉換爲二進制。所以,我的數據不會丟失。圖像大小可以是100 kb到500 kb。
我無法在csv文件之外存儲圖像。
我使用SQL Server 2005的
你爲什麼不使用nvarchar的,而不是你可以存儲數據和檢索 –
也許編碼的二進制數據爲十六進制字符串時將其寫入CSV並在導入時將其解碼(如果還需要導入)?將原始二進制數據放入CSV文件可能會混亂(並且很可能會)將CSV文件搞亂。 – Ruslan
@dholakiyaankit,因爲nvarchar支持unicode數據格式,每個字符分配2個字節的數據。如果我使用nvarchar而不是二進制,那麼數據庫的大小將會增加。例如,如果圖像大小爲100 kb,則nvarchar數據類型可能會在sql數據庫中消耗200kb。所以,我擔心這個問題。如果nvarchar沒有任何區別,那麼使用nvarchar數據類型沒有問題。 – Shell