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 に答える