Mam aplikację internetową w C#/ASP.NET. Chcę wyeksportować wszystkie dane tabeli bazy danych z tym samym unikalnym kluczem (Company ID
). Wszystkie tabele mają ten klucz (inny dla każdej firmy). Chcę to zrobić dla przyszłej kopii zapasowej. Czy to możliwe z Linq lub klasycznym C#? Jak osiągnąć tę kopię zapasową i przywrócić?Eksportuj wiele tabel z SQL Server do XML do przywracania
Odpowiedz
Jeden przykład do rozwiązania jest
using System.Data.SqlClient;
using System.Data;
using System.IO;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
var connStr = "Data Source=MOHSINWIN8PRO\\SQLEXPRESS;Initial Catalog=AB2EDEMO;Integrated Security=True";
var xmlFileData = "";
DataSet ds = new DataSet();
var tables = new[] {"Hospital", "Patient"};
foreach (var table in tables)
{
var query = "SELECT * FROM "+ table +" WHERE (Hospital_Code = 'Hosp1')";
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
conn.Dispose();
xmlFileData+=ds.GetXml();
}
File.WriteAllText("D://SelectiveDatabaseBackup.xml",xmlFileData);
}
}
}
stworzy SelectiveDatabaseBackup.xml
, które mogą być później wykorzystane w celu przywrócenia kopii zapasowej
Dziękuję za pomoc! Czy możesz mi powiedzieć jaki typem danych jest tablica var, ponieważ mam problem z var na mojej strukturze tabeli – Equilibrium
to łańcuch znaków, a tabele to ciąg tablicowy –
Kiedy próbuję przypisać tabelę ciągów znaków, (wewnątrz deklaracji foreach) otrzymuję błąd: Typ lub przestrzeń nazw nie można znaleźć tabeli nazw – Equilibrium
SaveFileDialog SD = new SaveFileDialog();
if (SD.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)
{
System.IO.StreamWriter SW = new System.IO.StreamWriter(SD.FileName);
foreach (string str in checkedListBox1.CheckedItems)
{
string XMLSTR = //Heads.funtions.ConvertDatatableToXML(
Heads.funtions.fire_qry_for_string(string.Format("Select * from {0} FOR XML AUTO,TYPE, ELEMENTS ,ROOT('{0}')", str)); // , str);
SW.Write(XMLSTR);
SW.WriteLine("###TABLEEND###");
}
SW.Close();
//_CommonClasses._Cls_Alerts.ShowAlert("Clean Up Completed...!!!", "CleanUP", MessageBoxIcon.Information);
}
Odpowiedzi tylko na kod naprawdę mogą zrobić z niektórymi wyjaśnienie. Czy mógłbyś to rozwinąć? – Werner
- 1. Importowanie XML do SQL Server
- 2. Eksportuj wartości z SQL Server do pliku txt
- 3. Eksportuj zdenormalizowane dane z Excela do xml
- 4. Eksportuj dane tabeli z jednego serwera SQL do innego
- 5. SSIS: kopiowanie tabel z MySQL do SQL Server 2008
- 6. eksportowanie wielu tabel dostępu do pojedynczego XML
- 7. Niszczenie danych z XML, importowanie do tabel relacyjnych (SQL Server 2008)
- 8. Migracja z SQL Azure do SQL Server
- 9. SSIS Logowanie do SQL Server
- 10. Zapytanie SQL do przeszukiwania schematu wszystkich tabel
- 11. Sourcing zdarzeń i wiele tabel relacyjnych SQL Server
- 12. Niszczenie XML z kolumny tabeli do widoku w SQL Server
- 13. SQL Server XML istnieje()
- 14. Jaka jest właściwa składnia w SQL Server do adresowania tabel?
- 15. SQL Server 2005 - usuwanie wyzwalaczy tabel?
- 16. Scalanie XML w SQL Server
- 17. Aktualizacja SQL Server przy użyciu wielu tabel
- 18. składni XML w SQL Server
- 19. Howto do SQL Server utf8?
- 20. Zakres tabel tymczasowych w SQL Server
- 21. Konwersja wierszy do formatu XML w SQL Server
- 22. Jak zaktualizować narzędzie do rozwiązywania konfliktów podczas aktualizacji z SQL-Server 2005 do SQL-Server 2008
- 23. SQL Server R wiele zestawów wyników
- 24. SQL Server kopii zapasowej i przywracania kopii zapasowych
- 25. Korzystanie z SQL do transponowania/spłaszczyć strukturę XML do kolumny
- 26. danych z SQL Server do ElasticSearch Węzła
- 27. C++ Dostęp do SQL Server z Linuksa
- 28. Migracja z Oracle do Sql Server
- 29. Przywróć bazę SQL Server 2008 do SQL Server 2000
- 30. Tabela SQL Server do json
Jeśli używasz SQL Server - powinieneś używać mechanizmu ** kopii zapasowej bazy danych SQL Server ** - nie wymyślając ponownie całej sprawy ..... –
@marc_s: chce tworzyć kopie selektywne na podstawie t on id firmy, dla którego tworzenie kopii zapasowej bazy danych SQL SERVER nie jest dobrym pomysłem Myślę, że –
jesteś w stanie stworzyć procedurę, która da ci wynik ze wszystkich tabel bazując na filtrze Twojego Unikalnego ID - Identyfikator firmy, a następnie przez użycie XML DLA TWOJEGO w stanie uzyskać xml. – KuldipMCA