2015-06-17 106 views
1

我有一個varbinary(max)列將圖像存儲在SQL數據庫中。如何提取varbinary(max)列的值?

我正在研究newdb腳本,其中應用程序創建db的新實例並填充一些表。我正在處理的其中一個表正在初始化該圖像列。

爲了做到這一點,我使用select語句打印了列的內容,並將內容粘貼到newdb腳本的insert語句中。這似乎最初工作,但圖像加載不正確。

因此,我比較了原始數據(5469988)和新數據(21839)的DATALENTH()。看來Microsoft SQL Server Management Studio - 2014在某些時候會將原始數據庫中的數據複製到數據庫中。我需要能夠獲取列的全部內容。有任何想法嗎?

+1

是你的問題「我怎樣才能使用SMS複製和粘貼大量數據」,或者你的問題是別的? –

+0

@RickS如果複製和粘貼工作會很好,但它迄今還沒有工作,所以看起來我需要一個不同的解決方案。 –

回答

3

不是複製/粘貼,而是右鍵單擊結果並執行'Save Results As ...',並導出完整的內容。有趣的是,將查詢輸出設置爲文本或文件顯式將仍然截斷長數據值。

+1

我這樣做了,尺寸更大:32767.它仍然比原來小得多:5469988. –

+0

如果它仍然不起作用,那麼您也可以嘗試使用'bcp'命令創建導出的數據文件,然後使用相同的命令創建空表結構後將其導入到目標中。 –

+0

不幸的是,當它被部署時,它將無法訪問文件系統 –

1

如果您將您的限制複製並粘貼到查詢結果選項。大多數列將在一定長度(通常爲256個字符)後被切斷。

您可以在頂部欄中選擇「保存結果爲...」,這會提示您一個數據導出對話框。

也可以使用數據導出嚮導。

相關問題