我正在尝试通过 TSQL 从 CSV 文件或数据库源批量加载 aspnet 成员。我对任何其他选项感到满意,即网络应用程序或 ssis 包。
我面临的问题是每个成员都有自己的个人资料,如下所示:
- First Name
- Last Name
- Mobile
- 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
aspnet_Profile.ProfileValuesBinary 与上一个几乎相同。除了它是二进制的
因此,话虽如此,您的方案是将 csv 数据放入数据库中的临时表中,然后在其上运行脚本以生成 PropertyNames(此处最复杂的部分)和 PropertyValuesString(最简单的部分)。就是这样。
关于asp.net - 通过 TSQL 填充 aspnet_Profile 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868850/