2016-07-08 4 views
0

データベースにないファイルに対してHASHBYTESを使用してMD5ハッシュを格納するためにt-SQL(SQL Server 2012)を使用できるかどうかを知りたいだけですか?t-SQLを使用して、データベースにないファイルに対してHASHBYTESを使用してハッシュを格納することはできますか?

私はT-SQL以外のものを使用せずに上記のことを達成しようとしています。それはより良い方法があるかどうか制約の天気かどうかです。これは、T-SQLだけを使用するという柔軟性のない制約/命令です。 T-SQLだけでなく、アドオンもありません。

誰でも任意の名前のファイルのハッシュをテーブルのフィールドに入れたいという目的を達成するT-SQLコードを提供できますか?好きな名前を使用してください。

もっと良い方法があると思っている人もいるかもしれませんが、その良い方法は、そうでないかどうかの選択肢ではありません。だから、100%T-SQL以外のソリューションやコメントを提供しないようにしてください。

答えて

0

これはあなたのために働くかどうかを確認(テキストとバイナリファイルタイプの両方をテストした)

Declare @x varbinary 
Declare @y table (C1 varbinary(max)) 

SELECT @x = convert(varbinary , BulkColumn) 
FROM OPENROWSET (BULK 'c:\temp\MyFile.txt', SINGLE_CLOB) MyFile 

select HASHBYTES('MD5', @x) 
insert into @y select HASHBYTES('MD5', @x)  
select * from @y 

output: 

0x93B885ADFE0DA089CDF634904FD59F71 

MSDN Hashbyteを参照:。

https://msdn.microsoft.com/en-us/library/ms174415.aspx?f=255&MSPPError=-2147217396

関連する問題