Sql-Server-2012

我無法用 PDF 辨識此表中發生的情況

  • February 12, 2021

我有一個帶有這個配置的表:

在此處輸入圖像描述

現在,如果您查看 COLUMN_11,它是一個 varchar -1。

但據我所知,要將 PDF 文件插入表中,您需要文件流,並且列應該是 VARBINARY(max) 對嗎?

那麼,這是如何工作的?為什麼 VARCHAR 列中有 PDF?

DocumentBody 是這樣的:

在此處輸入圖像描述

顯然,有數百萬這個。

當您看到-1aVARCHARNVARCHAR數據類型的值時,這只是.NET SQLDBTYPEMAX的數字表示,如此所述。

因此,看起來應用程序可能只是將 PDF 的序列化編碼字元串表示形式儲存在數據庫中的VARCHAR(MAX)列中。

我假設設計這個的開發人員認為這是儲存 PDF的最簡單VARBINARY(MAX)方法,而不是,這樣可以節省空間(正如 Dan Guzman 在評論中指出的那樣)。此外,實際上最好的做法是不要將文件本身儲存在數據庫中,而是將文件儲存在某個文件系統上,並將對該文件的位置引用儲存在數據庫中。

引用自:https://dba.stackexchange.com/questions/285288