Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

DataReader.GetFieldType(int) Returned Null

問題

開發完成的網站應用程式,在測試機運行都是正常,但在正式機時,發生了 HTTP 500 錯誤,錯誤訊息如下

1
2
3
Exception information:
Exception type: InvalidOperationException
Exception message: DataReader.GetFieldType(5) returned null.

原因

依據這個錯誤訊息,查找一下微軟論壇上的討論,確認應該是應用程式使用了 Sql Server 的部分元件,因此需要將此元件註冊;但是因為此專案主要是使用 Geomerty 型別產生的問題,所以比較符合 Huan-Lin 老師的此篇文章,需要在正式機的電腦上額外安裝 Sql Server Featrue Pack,版本按照各自使用的資料庫版本安裝

解決方式

請到微軟網站搜尋 SQL Server Feature Pack,取得搜尋結果,然後找尋符合自己資料庫的版本選取下載,我的版本是 SQL Server 2014,所以在下載列表中選取 *SQLSysClrTypes** 這檔案,在不同*Sql Server 版本中名稱會有稍微不同,主要就是找尋 CLR Types 的元件擴充就是了。

參考資料

歡迎關注我的其它發布渠道