Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/84: Рейтинг темы: голосов - 84, средняя оценка - 4.64
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107

Копирование данных из одной базы таблице в другую базу таблиц

11.03.2012, 17:25. Показов 17372. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача Насколько реально имея 2 базы с разными таблицами перенести из одной в другую таблицу данные? я тут химичел вот что получил
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void zarplata_Load(object sender, EventArgs e)
        {
            conn.Open();
            comand.Connection = conn;
            string qvery = "SELECT * FROM REESTR";
            comand.CommandText = "insert into REESTR (a) select (nom_fil) from idis";
            OleDbDataAdapter adapter = new OleDbDataAdapter(qvery, conn);
            adapter.Fill(ds); 
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
            comand.ExecuteNonQuery();
 
            conn.Close();
            
 
        }
подключение базы
C#
1
2
3
        OleDbConnection conn = new OleDbConnection("Provider=VFPOLEDB.1;Data Source=c:\\Lab\\Zarplata\\Zarplata\\bin\\Debug\\;Mode=Share Deny None;Collating Sequence=RUSSIAN");
        OleDbCommand comand = new OleDbCommand();
        DataSet ds = new DataSet();
но то ли я в запросе накасячил то ли хз что. помогите плиз
ошибку кидает " Field B does not accept null values" хотя поля чяровские и в пустое пытался загнать и в забитое та же ошибка не могу определить конкретно что не так.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2012, 17:25
Ответы с готовыми решениями:

копирование таблиц из одной базы в другую
Есть БД Access, к которой я соединяюсь при помощи ODBC драйвера. В Access есть нужная мне таблица, которую я хочу перенести при помощи...

Копирование данных из одной таблицы в другую в пределах одной базы. Не работает счетчик
Делаю копирование данных из одной таблицы в другую в пределах одной базы. procedure TForm16.Button2Click(Sender: TObject); var ...

Копирование данных с одной базы в другую
Здравствуйте. Подскажите как из указанного ниже скопировать данные с одной таблицы в другую, при условии, что таблица tableName2 находится...

11
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
11.03.2012, 17:40
Скорее всего у какогото поля установлено свойство IS NOT NULL.
Если базы находятся на одном сервере, то быстрее всего перенести данные из одной таблицы в другую будет запросом (для СУБД MS SQL):
T-SQL
1
2
INSERT INTO Test1.dbo.tbl_Account (ID, ActivityID)
SELECT id, ActivityID FROM Test2.dbo.tbl_Account
где Test1 и Test2 - базы на одном и том же сервере.
1
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
11.03.2012, 20:46  [ТС]
а объясни пожалуйста что значит Test2.dbo.tbl_Account это обязательно dbo.tbl_Account
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
11.03.2012, 23:22
Неа! Такая запись означает полный путь к таблице на сервере. Если я хочу выполнить запрос в котором участвуют несколько БД, то необходимо:
1. Указать БД Test1
2. Указать схему Test1.dbo
3. Указать таблицу Test1.dbo.tbl_Account

tbl_Account - это название таблицы для примера.

Если необходимо переписать данные из одной таблицы БД в таблицу другой БД (при условии что БД на одном сервере), то используется такая форма записи, чтобы сервер понимал, что происходит.

Чтобы переписать данные из одной таблицы в другую необходимо воспользоваться инструкцией INSERT в сочетании с SELECT перечислив как поля для записи так и поля для чтения.
1
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
12.03.2012, 15:07  [ТС]
подскажите а UPDATE может копировать данные из разных баз и изменять. то есть может работать как insert into тока не вставлять строку а изменять в ней данные.
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
12.03.2012, 15:13
Нет инструкция UPDATE предназначена только для обновления существующих записей.
0
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
12.03.2012, 16:29  [ТС]
Хорошо тогда подскажите пожалуйста как мне забрать данные из столбцов одной базы и вписывать в другую но невстовляя строку как insert into а просто заменять данные в ней?
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
12.03.2012, 20:01
Нужно написать UPDATE. Например такой:
T-SQL
1
2
3
4
5
UPDATE A1
SET A1.ActivityID = A2.ActivityID, A1.Name = A2.Name
FROM VLP.dbo.Account AS A1
INNER JOIN VLP_Main.dbo.tbl_Account AS A2 ON
A1.ID = A2.ID
таблица Account находится в базе VLP, а таблица tbl_Account в таблице VLP_Main. Соединяем таблицы по INNER JOIN, чтобы получить только те записи, которые есть в обоих таблицах.
1
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
16.03.2012, 12:15  [ТС]
а если я не могу одинаковые поля ставит((( в базах есть 8 столбцов и они разные могу я из одной базы перенести данные в другую
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
16.03.2012, 14:19
Не совсем понял вопрос! Что не получается сделать? И лучше будет если вы покажете структуры таблиц экспорта и импорта.
0
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
16.03.2012, 16:23  [ТС]
пример
Вложения
Тип файла: zip пример.zip (1.2 Кб, 80 просмотров)
0
 Аватар для SpiritAT
3 / 3 / 0
Регистрация: 02.09.2011
Сообщений: 107
16.03.2012, 23:26  [ТС]
Спасибо всем сделал)))
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
string pth = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
            OleDbConnection conn = new OleDbConnection(
                 String.Format("Provider=VFPOLEDB.1;Data Source='{0}';Mode=Share Deny None;Collating Sequence=RUSSIAN", pth)
                 );
            // 1. выдернуть номер отделения и префикс из таблицы с шапкой
                string sql = string.Format("SELECT prefix,nom_fil from {0}", tableTop);
                cmd.CommandText = sql;
 
                OleDbDataReader rdr = cmd.ExecuteReader();
                rdr.Read();
                string nom_fil = rdr.GetString(1);
                string prefix = rdr.GetString(0);
                rdr.Close();
 
                // 2. формируем имя выходной таблицы
                string nFil = nom_fil.Substring(nom_fil.LastIndexOf("№")+1).Trim();
                string tableFinal = prefix.Trim() + nFil + Nomer_plategki.Text.Trim();
 
                // 3. формируем выходной файл
                StringBuilder sb_30spaces = new StringBuilder();
                sb_30spaces.Append(' ', 30);
                string _30spaces = sb_30spaces.ToString();
                // шапка
                sql = string.Format("select nom_fil as A,'{0}' as B,'{0}' as C,'{0}' as D, '{0}' as E, '{0}' as F, '{0}' as G into table {1} from {2}", _30spaces, tableFinal, tableTop);
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                sql = string.Format("insert into {0} values ('К платежному поручению №','{1}','от','{2}','{3}','{3}','{3}')",
                    tableFinal,
                    Nomer_plategki.Text.Trim(),
                    DateTime.Today.ToString("dd'.'MM'.'yyyy"),
                    _30spaces
                    );
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                sql = string.Format("insert into {0} select 'Наименование,ОГРН,банк счёта',nom_organ,acc_pred,'{2}','{2}','{2}','{2}' from {1}",
                    tableFinal,
                    tableTop,
                    _30spaces
                    );
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                sql = string.Format("insert into {0} select 'По договору',nom_dog,'От',dat_dog,'{2}','{2}','{2}' from {1}",
                    tableFinal,
                    tableTop,
                    _30spaces
                    );
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                sql = string.Format("insert into {0} values ('{1}','{2}','{3}','{4}','{5}','{6}','{7}')",
                    tableFinal,
                    "№п/п",
                    "Номер счета",
                    "Фамилия",
                    "Имя",
                    "Отчество",
                    "Сумма",
                    "Примечание"
                    );
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                // данные
                sql = string.Format("insert into {0} select * from {1}", 
                    tableFinal, tableData
                );
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
 
                conn.Close();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2012, 23:26
Помогаю со студенческими работами здесь

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

Access. Копирование с одной базы b1.mdb содержимое в другую базу b2.mdb
Через ADOConnection1 подключил базу b1.mdb, ADOConnection2 подключил базу b2.mdb. В каждой из баз имеется по одной таблице (в b1.mdb...

Перенос данных с одной базы interbase на другую чистую базу
Всем доброго времени суток! помогите пожалуйста с проблемой: есть база данных interbase размером примерно 900 мб, очень много в ней...

Копирование записей одной таблицы в другую одно и тойже базы данных
Доброе время суток!Помогите плиз, с копированием записей одной таблицы в другую одной и той же базы! Я имею ввиду Sql-запрос. Чтоб когда...

Можно ли как-нить часть данных с одной базы 1с7 влить в другую запоненную базу 1с7?
Еси конкретнее - очень надобно перекинуть справочники контрагентов и журнал п/п за 1квартал 2011 с офисной базы в домашнюю...а в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru