Vivek.anand34 Ответов: 2

Как переместить таблицу и значения из одной базы данных в другую


Уважаемый друг,

Мне нужно переместить таблицы и значения из одной базы данных в другую с помощью службы windows.. Я попробовал следующую ссылку: я получил ошибку недопустимое имя объекта..

Базы данных SQLite: копирование данных из таблицы всех данных db1 в DB2 таблицы[^]

Что я уже пробовал:

public void Move()
        {
            <pre>StringBuilder strSql = new StringBuilder();

            using (con)
            {
                con.Open();

                using (cmd1 = new SqlCommand("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_CATALOG ='AWACS' and TABLE_NAME ='DRL_MenuMaster_hdr'", con))
                {
                    using (SqlDataReader rdr = cmd1.ExecuteReader())
                    {
                        while (rdr.Read()) // Reading Rows
                        {
                            strSql.Append("INSERT INTO MOVEDB.dbo.");
                            strSql.Append(rdr["TABLE_NAME"].ToString());
                            strSql.Append(" (");
                            strSql.Append(rdr["COLUMN_NAME"].ToString());
                            strSql.Append(") ");
                            strSql.Append("SELECT ");
                            strSql.Append(rdr["COLUMN_NAME"].ToString());
                            strSql.Append(" FROM AWACS.dbo.");
                            strSql.Append(rdr["TABLE_NAME"].ToString());
                            strSql.Append(";");
                            var tableName = rdr["TABLE_NAME"].ToString();
                            var Columns = rdr["COLUMN_NAME"].ToString();

                        }
                    }
                }
            }

            using (con1)
            {
                con1.Open();
                using (SqlCommand cmd2 = new SqlCommand(strSql.ToString(), con1))
                {
                    //cmd1.CommandText = strSql.ToString();
                    int i = cmd2.ExecuteNonQuery();
                    if (i > 0)
                    {
                        MessageBox.Show("Data dumped successfully ...!!!");
                    }
                }
            }
        }

2 Ответов

Рейтинг:
1

OriginalGriff

SQLite не использует объекты SqlCommand - он использует sqlitecommand, SQLiteConnection и подобные им конструкции. Если вы хотите получить доступ к базам данных SQLite, вы должны использовать их вместо классов SQL server.

Существует множество способов копирования таблицы между базами данных SQL server: копирование таблицы между базами данных SQL server - Google Search[^]- каждый со своими собственными преимуществами и недостатками в зависимости от вашей ситуации. Посмотрите, пройдите по нескольким ссылкам и посмотрите, что вы можете найти, что соответствует тому, чего вы пытаетесь достичь.


Vivek.anand34

выше мой код, выполняемый, как сохранить в БД означает: например, для. У меня 10 рядов. 1-й столбец сохранен в 10 строках 2-й столбец сохранен в следующих 10 строках, 3-й столбец сохранен в следующих 10 строках вот так... я думаю, что использование-это проблема... pls. с мой код выше..

Рейтинг:
0

Nirav Prabtani

Вы должны поддерживать две строки подключения в web.Config или App.Config

1) получить все данные из database1 и заполнить их в DataTable
2) сбросьте все данные в database2 с помощью Массовое копирование SQL

для получения дополнительной информации о массовом копировании вам следует проверить эти ссылки

Массовое копирование в SQL server с помощью c#.net[^]

Массовое копирование SQL с помощью C#.Net[^]