作者:晶晶9930_195 | 来源:互联网 | 2023-05-18 03:48
使用smo获取Sqlserver的数据我正在使用SqlServerSmo通过C#应用程序创建数据库方案。但是,我还需要更多,我还需要从每个表中获取数据,如下所示:--.
使用smo获取Sql server的数据
我正在使用Sql Server Smo通过C#应用程序创建数据库方案。 但是,我还需要更多,我还需要从每个表中获取数据,如下所示:
--........................................ INSERT INTO Table123 (...) VALUES (....) INSERT INTO Table456 (...) VALUES (....) --........................................
我怎么能这样做,是否可能? 请注意,我需要使用smo而不是数据库的* .bak等创建一个完整的脚本。
看看SMO的Scripter课程。 以下基本示例适用于我:
using System.Data.SqlClient; using System.IO; using System.Text; using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.Smo; namespace SqlExporter { class Program { static void Main(string[] args) { var server = new Server(new ServerConnection {COnnectionString= new SqlConnectionStringBuilder {DataSource = @"LOCALHOSTSQLEXPRESS", IntegratedSecurity = true}.ToString()}); server.ConnectionContext.Connect(); var database = server.Databases["MyDatabase"]; var output = new StringBuilder(); foreach (Table table in database.Tables) { var scripter = new Scripter(server) {OptiOns= {ScriptData = true}}; var script = scripter.EnumScript(new SqlSmoObject[] {table}); foreach (var line in script) output.AppendLine(line); } File.WriteAllText(@"D:MyDatabase.sql", output.ToString()); } } }
注意:此示例不处理表之间的任何外键约束或其他依赖项。
参考文献:
上述就是C#学习教程:使用smo获取Sql server的数据分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记
- 这个问题 (这使我转向Scripter类)
- 这个MSDN论坛问题 (解释了如何使用EnumScript方法)