asp.net - 通过 TSQL 填充 aspnet_Profile 表

标签 asp.net asp.net-membership

我正在尝试通过 TSQL 从 CSV 文件或数据库源批量加载 aspnet 成员。我对任何其他选项感到满意,即网络应用程序或 ssis 包。

我面临的问题是每个成员都有自己的个人资料,如下所示:

  1. First Name
  2. Last Name
  3. Mobile
  4. Company Add .... etc.

看起来 aspnet 配置文件存储为

PropertyNames and PropertyValues

在后端 aspnet_profile 表中。

有人可以建议我如何将员工数据及其个人资料加载到 aspnet 成员(member)数据库吗?

谢谢。

最佳答案

好吧,假设您的问题是如何正确表示配置文件值,那么它实际上是如何存储在数据库中的:

aspnet_Profile.PropertyNames包含配置文件变量名称、相应的存储描述符和值长度,如下所示: [变量名称]:[存储]:[开始]:[长度]:[变量名称] ... 哪里

  • [VariableName] - 您的配置文件变量名称
  • [存储] - 一个字符。 B 代表二进制,S 代表字符串
  • [Start] - 存储字符串或字节数组中值的起始位置
  • [长度] - 值长度

示例:Test1:S:0:10:Test2:B:0:100:Test3:S:10:5:TestDate:S:15:95

aspnet_Profile.ProfileValuesString 包含一一连接的配置文件值,没有分隔符或其他任何内容。要生成此列值,您实际上不必测量值的长度。要从那里阅读,您显然必须这样做。 注意:当序列化为 PropertyValuesString 时,DateTime 值将被包装到 XML 中。

示例:TestStringABCDE 2011-07-29T10:00:28.1603073+04:00

aspnet_Profile.ProfileValuesBinary 与上一个几乎相同。除了它是二进制的

因此,话虽如此,您的方案是将 csv 数据放入数据库中的临时表中,然后在其上运行脚本以生成 PropertyNames(此处最复杂的部分)和 PropertyValuesString(最简单的部分)。就是这样。

关于asp.net - 通过 TSQL 填充 aspnet_Profile 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868850/

相关文章:

asp.net - 如何减少在 IIS 5.1 中开发 ASP.NET Web 应用程序时对 IISRESET 的需求

C# 在 asp.net 项目中以编程方式在 IIS 中创建站点

c# - 如何通过选择另一个下拉列表来动态更改下拉列表值

.net - SqlProfileProvider

asp.net-mvc - session 结束时访问成员(member)用户

c# - TransactionScope 中的 Membership.GetUser() 抛出 TransactionPromotionException

ASP.NET MVC + Web API2 + AngularJS授权和身份验证

c# - ASP.NET Membership Provider - 重置密码功能 - 电子邮件确认和密码更改

asp.net-mvc - ASP.NET MVC : relationship between models and MembershipUsers

asp.net-mvc-3 - 将 asp.net 成员身份迁移到 Windows Azure