在远程sql server上部署.dll?

soo*_*ise 1 c# sql visual-studio-2010

我正在尝试创建程序集,但我的远程sql服务器无法访问我的.dll文件.

create assembly BarcodeSql 
from 'X:\test.dll' 
WITH PERMISSION_SET = SAFE
Run Code Online (Sandbox Code Playgroud)

我不知道如何将test.dll放在我的sql server上,但我知道我可以发送一个序列化的dll而不是dll的路径.如何序列化dll?我似乎无法弄明白.

vcs*_*nes 6

我正在尝试创建程序集,但我的远程sql服务器无法访问我的.dll文件.

那是因为它正在X:\运行SQL实例的服务器上查找,而不是从运行SQL的位置查找.

如何序列化dll?

您可以在CREATE ASSEMBLY中指定网络路径:

create assembly BarcodeSql 
from '\\yourmachine\sharetox\test.dll' 
WITH PERMISSION_SET = SAFE
Run Code Online (Sandbox Code Playgroud)

或者,你真的可以序列化它.使用PowerShell:

"0x" + [System.BitConverter]::ToString([System.IO.File]::ReadAllBytes("X:\text.dll")).Replace("-", "")
Run Code Online (Sandbox Code Playgroud)

哪个会打印出一些大的十六进制值.然后,您可以在创建程序集时使用VARBINARY文字:

create assembly BarcodeSql 
from 0x23456789
WITH PERMISSION_SET = SAFE
Run Code Online (Sandbox Code Playgroud)

其中0x123456789是powershell脚本的输出.