Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Utwórz tabelę SQL na podstawie Datatable C#

To zadziałało dla mnie w linqpad:( po dodaniu odwołania do nugeta do "Microsoft.SQLServer.SMO"

skopiowane i zmodyfikowane z odpowiedzi na: Skrypt tabeli jako CREATE TO za pomocą vb.net

Miałem problem z uzyskaniem dostępu do tabel["[exd].[ABCINDICATORSET]"], nie mogłem wymyślić, jak prawidłowo określić tabelę i domenę, zawsze otrzymywałem null z powrotem.

// Define your database and table you want to script out
string dbName = "Ivara77Install";

// set up the SMO server objects - I'm using "integrated security" here for simplicity
Server srv = new Server();
srv.ConnectionContext.LoginSecure = true;
srv.ConnectionContext.ServerInstance = ".";

// get the database in question
Database db = new Database();
db = srv.Databases[dbName];

StringBuilder sb = new StringBuilder();

// define the scripting options - what options to include or not
ScriptingOptions options = new ScriptingOptions();
options.ClusteredIndexes = true;
options.Default = true;
options.DriAll = true;
options.Indexes = true;
options.IncludeHeaders = true;



// script out the table's creation 
Table tbl = db.Tables.OfType<Table>().Single(t => t.Schema.ToLower() == "exd" && t.Name.ToLower() == "ABCINDICATORSET".ToLower() );

StringCollection coll = tbl.Script(options);

foreach (string str in coll)
{
    sb.Append(str);
    sb.Append(Environment.NewLine);
}

// you can get the string that makes up the CREATE script here
// do with this CREATE script whatever you like!
string createScript = sb.ToString();

Niektóre z sql są nieco bardziej gadatliwe niż te, które otrzymujesz z serwera sql podczas wykonywania tabeli skryptów jako -> Utwórz do -> Nowe okno edytora zapytań

Zmiany, które przybliżają to, co generuje serwer sql:

//options.Indexes = true;
options.IncludeHeaders = true;
options.NoCollation = true;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać procedurę składowaną z parametrami wejściowymi i wyjściowymi przy użyciu EF?

  2. Obejście problemu zdalnego wywoływania funkcji z wartościami przechowywanymi w tabeli w SQL Server ma jeszcze więcej problemów

  3. Dlaczego dostrajanie wydajności SQL jest najważniejszą umiejętnością zarządzania bazą danych?

  4. Laravel do SQL Server (sqlsrv). [PDOException] nie można znaleźć sterownika

  5. SSIS Jak uzyskać część ciągu za pomocą separatora