2011-07-29 120 views
3

我想從CSV文件或數據庫源通過TSQL批量加載aspnet成員。我對任何其他選項,即網絡應用程序或ssis軟件包感到滿意。通過TSQL填充aspnet_Profile表

我面臨的問題是,每個成員都有一個屬於自己的配置文件作爲打擊:

  1. 移動
  2. 公司地址....等等

看起來像aspnet pro文件存儲爲

PropertyNames和PropertyValues

在後端aspnet_profile表。

任何人都可以請我建議我如何加載員工數據和他們的個人資料到aspnet會員數據庫?

謝謝。

+0

對不起,提出一箇舊的線程,但你是如何填寫「PropertyValueBinary」列的值?我也對接受的答案留了言。 – Meligy

回答

1

好吧,假設你的問題是如何正確地表示輪廓值,這裏是如何它實際上被存儲在DB:

aspnet_Profile.PropertyNames包含配置變量名稱,相應的存儲描述符和值長度如下: [VARIABLENAME]:[貯藏]:[開始]:[長度]:[VARIABLENAME] ... 其中

  • [VARIABLENAME] - 您的個人資料的變量名
  • 【貯藏】 - Ø ne char。乙二元,S爲字符串
  • [開始] - 在存儲字符串或字節數組值開始位置
  • [長度] - 值長度

:測試1:S:0:10: TEST2:B:0:100:Test3的:S:10:5:TestDate:S:15:95

aspnet_Profile.ProfileValuesString包含簡檔值由一個沒有分隔符或其他任何concatened之一。要生成此列值,您實際上不必衡量值的長度。從那裏閱讀,你顯然必須。 注意:在序列化爲PropertyValuesString時,DateTime值將被封裝到XML中。

示例:TestStringABCDE <?xml version =「1.0」encoding =「utf-16」? > <日期時間> 2011-07-29T10:00:28.1603073 + 04:00 < /日期>

aspnet_Profile.ProfileValuesBinary幾乎是一樣的前一個。所以,你說的scenaro會把你的csv數據放到DB中的臨時表中,然後運行一個腳本來生成PropertyNames(這裏最複雜的部分)和PropertyValuesString(最簡單的部分) 。而已。

+0

對不起,提出一箇舊的線程,但任何想法如何設置'PropertyValueBinary'的值?如何生成這個'binary'部分? – Meligy

+0

生成PropertyValueBinary字段只是一個二進制序列化對象的數組。這裏的數據需要與PropertyNames定義保持同步,以便只要PropertyValueBinary中的數據得到更新,就需要更新開始和長度。 如果您使用C#創建數據以加載到這些表中,那麼使用BinaryFormatter()將是一個可以幫助您的類。 – AmoebaMan17