在資料庫中提供唯讀資料

2021-09-06 22:16:02 字數 1118 閱讀 6449

專案需要,需要在資料庫中提供乙個些資料,可讓使用者讀取,但不能修改。

或許你需要建立乙個表,手動新增這些靜態資料,這樣的話,使用者有可能直接開啟資料庫修改。

也許你會建立乙個table-valued 函式並加密。

解決方案很多,下面insus.net使用clr儲存過程來實現,把資料直接設定於clr程式中。當部署於sql時,如果使用者沒有拿到dll,也許一時無法修改,僅能唯讀了。

建立乙個clr儲存過程:

可複製**:

[microsoft.sqlserver.server.sqlprocedure]

public

static

void

siteinfor()

);//為列域賦值。

record.setint32(0,1

); record.setstring(

1, "dg"

); record.setstring(

2, "

5a01ceba-4168-44a2-a68a-5b430e5ad127");

//將記錄傳送到呼叫程式。

sqlcontext.pipe.send(record);

}

view code

此儲存過程,我們是無法modify的。

試執行此儲存過程:

下面內容於2015-04-03 09:40分修改或補充:

針對最後一段**,修改如下:

在資料庫中提供唯讀資料

專案需要,需要在資料庫中提供乙個些資料,可讓使用者讀取,但不能修改。或許你需要建立乙個表,手動新增這些靜態資料,這樣的話,使用者有可能直接開啟資料庫修改。也許你會建立乙個table valued 函式並加密。解決方案很多,下面insus.net使用clr儲存過程來實現,把資料直接設定於clr程式中。...

SQL 2005EXPRESS唯讀資料庫的解決辦法

我的作業系統為windows 2003 server 檔案系統ntfs,在sql server 2005 express 上附加 attach 從另外一台電腦copy過來的資料庫後,資料庫為 唯讀 如下圖 解決辦法 開啟 sql server configuration manager,開啟sql ...

Jmeter 從資料庫中提取資料

資料庫操作應用場景 1.做效能測試的時候,需要向資料庫中插入一些資料 2.做介面自動化的時候,有些介面返回的資料是動態變化,在斷言的時候就不能寫死 在這裡有時候需要我們檢查資料,返回資料與資料庫的資料進行校驗 3.比如,獲取手機驗證碼的介面 驗證碼其實是後台生成,會保持在資料庫中,需要從資料庫去提取...