Sql Server 新增外部程式集基本操作

2021-07-11 15:04:58 字數 1750 閱讀 5769

簡介:有時候sql server的內建函式沒有那麼好用的時候,可以引用一下外部程式集,下面獻下醜,做下新增外部程式集操作

1、準備程式,編譯出乙個myclr的dll.

public

class

clrclass

}

2、新增程式集。

create

assembly myclr1

from

'i:\test\myclr\myclr\bin\release\myclr.dll

'with permission_set = safe/external access/unsafe; --

(預設推薦/可以訪問外部資源/不受限制地訪問資源)

unsafe 模式是不受任何限制的訪問資源。

這是聯機手冊上面對這幾種模式的限制。

如果有靜態變數,在safe 模式下就會報錯了

public

class

clrclass

然後在資料庫執行 

alter

assembly myclr1

from

'i:\test\myclr\myclr\bin\release\myclr.dll

'with permission_set = safe;

叮叮,立即中獎

解決方法。去掉靜態變數,將靜態變數改為readonly模式,或者將程式集改為 unsafe模式。

去掉靜態變數和readonly就不說了。

改變為unsafe模式,可以執行以下語句

alter

database testdb set trustworthy on; --

資料庫所有者(dbo)擁有 unsafe assembly 許可權,且資料庫具有 trustworthy 資料庫屬性;或者,程式集已使用其對應登入名具有 unsafe assembly 許可權的證書或非對稱金鑰加以簽名 go

alter

assembly myclr1

from

'i:\test\myclr\myclr\bin\release\myclr.dll

'with permission_set =

unsafe;

go--

執行成功

建立了程式集,然後新增個函式對映來使用

新增函式對映

create

function

clrfbitcontains

( @a

asint , @b

asint

)returns

intas

external name myclr1.clrclass.myfun

確認是否需要開啟clr執行許可權

exec sp_configure '

clr enabled

', '1'

reconfigure

select dbo.clrfbitcontains(1,3

)ps:每次修改完動態庫,需要重新執行修改一次程式集定義才能更新同步上去

create

assembly myclr1

from

'i:\test\myclr\myclr\bin\release\myclr.dll

'

好~搞掂

Qt 為Groupbox外部新增外部框

需求的描述 每乙個實體劃分為乙個區域,每乙個區域用外側用明顯的框線標識以來區分。把每乙個實體前端的控制項放入到groupbox控制項中,在設定ui內部相關控制項的屬性是,新增下面 可以實現對groupbox設定外部框線。設定groupbox邊框顏色 ui groupbox setstylesheet...

tomcat新增外部專案

有兩種配置的方式 第一種,修改tomcat conf server.xml 找到如下的xml標籤 在host標籤中新增如下子元素 其中 path 專案名稱 docbase 專案的實際位置 這種方式的訪問路徑為 第二種,在tomcat conf catalina localhost 目錄下增加proj...

SQLServer外部資料匯入 Excel版

例如要在test表裡插入多行資料 假設欄位有 id name 首先要有需要匯入的資料的excel a1 對應id b1 對應name 選中excel第一行的空白處,比如c1,在工具欄的函式文字框裡輸入以下函式 insert into test id,name values a a b b 再將滑鼠放...