从 DataSet 创建 SQL 服务器数据库
Create SQL Server DB from DataSet
我在 DataSet
中阅读了 xsd 和 xml 文件,现在我想从这个 DataSet
创建数据库
foreach (DataTable dt in temp.Tables) {
foreach (DataColumn dc in dt.Columns) {
//example for one column
SqlCommand createtable = new SqlCommand(
"create table " + dt.TableName + " ("
+ dc.ColumnName + " varchar(max))", conn);
createtable.ExecuteNonQuery();
}
}
但是我遇到了一些问题,当我创建数据库 table 时,我需要来自 XSD 的列类型和大小(例如使用 varchar(max)
)。如何解决这个问题?
例如 xsd 我有
<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
<xs:minLength value="1"/>
</xs:restriction>
或
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
或
<xs:restriction base="xs:decimal">
<xs:totalDigits value="19"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
最后我需要脚本来创建具有列大小的数据库 tables(如 xsd)
UPD:也许使用 XmlSchemaSet
来解析 XSD?
我想对此没有通用的解决方案。 XSD
可以轻松描述未映射到关系 database.While 的内容,您可以尝试 "automate" 这个,您的 XSD 必须在设计时考虑到关系数据库, 否则效果不佳。
但是您可以使用 SQLServer Management Objects
和 SqlBulkCopy
.
将内存中的数据表传输到 sql 服务器数据库
更多信息请参考thislink。希望对您有所帮助。
使用XSD2DB
XSD2DB 是用 C#
编写的命令行工具,它将读取 Microsoft ADO.NET compatible DataSet Schema File (XSD)
并生成数据库。
在这种情况下脚手架能帮到你吗?
也许看看那个,我知道有一种方法可以先用脚手架对数据库进行逆向工程
我在 DataSet
中阅读了 xsd 和 xml 文件,现在我想从这个 DataSet
foreach (DataTable dt in temp.Tables) {
foreach (DataColumn dc in dt.Columns) {
//example for one column
SqlCommand createtable = new SqlCommand(
"create table " + dt.TableName + " ("
+ dc.ColumnName + " varchar(max))", conn);
createtable.ExecuteNonQuery();
}
}
但是我遇到了一些问题,当我创建数据库 table 时,我需要来自 XSD 的列类型和大小(例如使用 varchar(max)
)。如何解决这个问题?
例如 xsd 我有
<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
<xs:minLength value="1"/>
</xs:restriction>
或
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
或
<xs:restriction base="xs:decimal">
<xs:totalDigits value="19"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
最后我需要脚本来创建具有列大小的数据库 tables(如 xsd)
UPD:也许使用 XmlSchemaSet
来解析 XSD?
我想对此没有通用的解决方案。 XSD
可以轻松描述未映射到关系 database.While 的内容,您可以尝试 "automate" 这个,您的 XSD 必须在设计时考虑到关系数据库, 否则效果不佳。
但是您可以使用 SQLServer Management Objects
和 SqlBulkCopy
.
更多信息请参考thislink。希望对您有所帮助。
使用XSD2DB
XSD2DB 是用 C#
编写的命令行工具,它将读取 Microsoft ADO.NET compatible DataSet Schema File (XSD)
并生成数据库。
在这种情况下脚手架能帮到你吗?
也许看看那个,我知道有一种方法可以先用脚手架对数据库进行逆向工程