什麼SqlDbType映射到varBinary(max)? SqlDbType.VarBinary說它被限制爲8K。 SQL Server文檔說varbinary(max)可以存儲aprrox。 2GB。但是SqlDbType.VarBinary說它僅限於8K。
什麼SqlDbType映射到varBinary(max)?
12
A
回答
21
SqlDbType.VarBinary長度爲-1是VARBINARY相當於(MAX),至少理論上是這樣。但問題有點複雜,因爲還有一個類型(不是枚舉值),即可以使用的SqlTypes.SqlBytes
。並且有SqlTypes.SqlFileStream
,它們也可以用於VARBINARY(MAX)
類型,當它們具有FILESTREAM
屬性時。
但問題是,這些枚舉或類型都沒有涉及與ADO.Net中的VARBINARY(MAX)
列一起使用的實際問題:內存消耗。所有這些類型,如果使用「即裝即用」,將在內存中創建作爲單個數組分配的值的副本,這最多是不可用的,但隨着內容變得越來越大,變得不可用,因爲分配失敗。我有一對夫婦,顯示使用流語義避免在內存中的全部內容拷貝的創作ADO.Net處理VARBINARY(MAX)
值的正確方法文章:
0
這可能幫助:http://msdn.microsoft.com/en-us/library/a1904w6t.aspx
醜,因爲它可能是,SqlDbType.Image似乎是要走的路。看起來我需要更新我的ORM,因爲現在任何超過8k的數據都會破壞它。
5
相關問題
- 1. 如何使用NHibernate ByCode映射映射SQL Server`varbinary(max)`字段?
- 2. EF4將varbinary(max)映射到二進制 - 代碼優先錯誤
- 3. SqlDbType枚舉映射 - C#
- 4. varbinary(max)捕獲和存儲OLE映像
- 5. NHibernate的:存儲VARBINARY到MAX
- 6. HttpPostedFileBase varbinary(max)
- 7. SQL Server VARBINARY(MAX)
- 8. 讀VARBINARY(MAX)從SQL Server到C#
- 9. 截斷VARBINARY(max)列到指定長度
- 10. 將文件保存到varbinary(max)字段?
- 11. 爲什麼SQL Server上varbinary(max)的UPDATE語句如此之慢?
- 12. 爲什麼sp_columns顯示'image'作爲varbinary(max)類型的type_name?
- 13. Varbinary(max)圖像Visual Studio 2008
- 14. 很慢VARBINARY(MAX)選擇
- 15. 如何從VARBINARY(MAX)WPF
- 16. syscall.Stat_t.Dev映射到什麼地方?
- 17. ApplicationPoolIdentity映射到什麼地方?
- 18. GUID_SysMouse映射到什麼地方?
- 19. T-SQL CONVERT()等價於VARBINARY的NHibernate映射到VARCHAR
- 20. SqlDbType在Oracle中轉換爲什麼?
- 21. 爲什麼DBNull.Value需要適當的SqlDbType?
- 22. 什麼是所有異常映射到404.html和什麼異常映射到500.html
- 23. Hibernate映射 - 映射到表
- 24. 什麼java映射庫可以從Map <String,Object>映射到pojo/bean?
- 25. Hibernate:這個映射到外鍵上的子類的映射有什麼問題?
- 26. EntityFramework映射 - 這個映射有什麼問題?
- 27. 多映射與矢量映射的優點是什麼?
- 28. 爲什麼hash映射比trie映射好?
- 29. 讓Stream進出VarBinary(MAX)列? (SQL Server)
- 30. 現有的varbinary(max)是否使用FILESTREAM?
我用-1,它工作正常 – Abacus 2013-06-06 16:49:36
真奇怪的是,上述沒有爲我工作。我必須寫:dtProducts.Columns.Add(new DataColumn(「Cover」,typeof(byte [])){AllowDBNull = true});注意字節[] ...這是爲我工作。 – Johan 2013-10-29 07:22:54