2

您好,自从今天早上尝试使用 SQl 查询检索我的计算机的 SID 以来,我就崩溃了。我只能检索字节数组中的 SID!

是否可以通过强制转换检索字符串?我试过但不可能。

这是我的 sql 查询

SqlDataSource data = new SqlDataSource(
System.Configuration.ConfigurationManager.ConnectionStrings["myDbConnection"].ToString(), 
"Select sid FROM sys.server_principals where Name='##MS_SQLAuthenticatorCertificate##'");

DataView viewData = data.Select(DataSourceSelectArguments.Empty) as DataView;

//Get S.I.D in byte
byte[] tabSid = (byte[]) viewData[0][0] ;
//Get S.I.D in String format (not working)
string varSid = viewData[0][0].toString() ;

非常感谢

4

1 回答 1

6

如果你这样做:

SELECT master.dbo.fn_varbintohexstr(sid)  AS 'SID'
 FROM sys.server_principals where Name='##MS_SQLAuthenticatorCertificate##'

然后 .ToString() 将正常工作

于 2012-09-10T10:46:02.027 回答