2014-12-09 54 views
0

我需要做一個選擇,在哪裏我使用sql證書解密列值,而我目前使用的是類型提供者(sooo不錯:))。F#原始Sql與TypeProviders

在原始的SQL,這將是像這樣(或多或少):

OPEN SYMMETRIC KEY KEYNAME 
DECRYPTION BY CERTIFICATE CERTNAME; 

SELECT ID, CONVERT(varchar, DecryptByKey(KEYNAME)) AS 'DecyptedData' 
FROM dbo.EncryptedData; 

CLOSE SYMMETRIC KEY SymmetricKey1; 

我在創建用於此目的的觀點不感興趣。

我想做到這一點在F#代碼,因此對於原始的SQL能力的要求(如果可能)

ADO連接是一種選擇,但我想用型供應商如果可能的話,以避免額外的連接。

有誰知道這是否可以輕鬆完成?

+1

你有沒有試過SqlCommandProvider? http://fsprojects.github.io/FSharp.Data.SqlClient/ – Petr 2014-12-09 12:47:46

+0

謝謝你看到它,但沒有使用它。 :)如果可能的話,希望避免額外的連接。如果沒有,那麼F#.Data.SqlClient是純ADO的一個選項。 – 2014-12-09 12:56:18

回答

0

我沒有找到一種方法來處理類型提供程序,因此最終使用FSharp.Data.SqlClient來處理它。

它的作用就像一個魅力,但缺點是我現在使用2個不同的供應商訪問同一個表中的數據:)。