Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 08.11.2003
Откуда: Greece
Этим кодом я перекидываю data из одного mdb вдругой....

public void MergeTables(string connS1, string connS2)
{
string connString1 = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + connS1;
string connString2 = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + connS2;
OleDbConnection oleConn1 = new OleDbConnection(connString1);
OleDbConnection oleConn2 = new OleDbConnection(connString2);
string cmd1 = "SELECT *FROM db1_table1";
string cmd2 = "SELECT *FROM db2_table1";
da1 = new OleDbDataAdapter(cmd1, oleConn1);
da2 = new OleDbDataAdapter(cmd2, oleConn2);
ds1 = new DataSet();

da1.Fill(ds1, "db1_table1");
da2.Fill(ds1, "db2_table1");

ds1.Tables["db1_table1"].Merge(ds1.Tables["db2_table1"]);

foreach (DataRow row in ds1.Tables["db1_table1"].Rows)
row.SetAdded();

OleDbCommandBuilder cmdBld = new OleDbCommandBuilder(da1);
da1.UpdateCommand = cmdBld.GetUpdateCommand();
@da1.Update(ds1, "b1_table1");

}

Как сделать link между двумя mdb чтобы использовать Sql queries типа INSERT INTO db1.table1 SELECT *FROM db2.table1 не используя DataSet.



Партнер
 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Kallileo
Тут дело не в C#. Он тебе здесь не поможет. Ты можешь присоединиться к базе, а после выполнить команду:

Код:
EXEC sp_attach_single_file_db
@dbname = N'my_db_2',
@physname = N'C:\my_db_2.MDF'


Ну и после ты сможешь делать запросы и к одной и к другой базе. Это я привел пример для MS SQL, скорее всего у тебя будет тоже самое. Смысл в том, что работать здесь нужно не на уровне C#.


 

Member
Статус: Не в сети
Регистрация: 08.11.2003
Откуда: Greece
Дело втом что, path к mdb файлам user выбирает через OpenFileDialog. Так что надо как-то в database @physname сровнять с OpenFileDialog.FileName из C#.


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 10.05.2007
Откуда: УКРАИНА
Я работаю с Oracle - может поможет...

1. Создаю db - линк (например db2), на удаленную базу, если таблицы в одной базе, то этого не надо.
2.
Для разных баз
INSERT INTO table1 SELECT * FROM table1@db2

если таблицы в одной базе. но разных схемах то:
INSERT INTO table1 SELECT * FROM shema2.table1

здесь все надо решать на уровне работы базы данных, C# - он просто дергает соответствующие скрипты...

_________________
Дождь не может быть вечным. Ворон.
Ненавижу админов!!!


 

Member
Статус: Не в сети
Регистрация: 08.11.2003
Откуда: Greece
Я делал link прямо в access таким способом:

http://www.techonthenet.com/access/tabl ... _table.php

Просто для меня важно что-бы client сам мог делать update когда ему надо и что бы он мог выбирать файлы где бы они ненаходились через OpenFileDialog.


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Kallileo
Так ты берешь мой запрос:
Код:
EXEC sp_attach_single_file_db
@dbname = N'my_db_2',
@physname = N'C:\my_db_2.MDF'

Подставляешь туда те значения, которые тебе нужны т.е те что пользователь задал. После при помощи С# методов выполняешь запрос, таким образом присоединяя базу, в чем проблема-то? Это же обычный запрос такой же как и "SELECT * FROM TABLE", его точно так же можно выполнить.
Как с access сделать запрос схожий по смыслу - не знаю, но думаю литературу на этот можно поискать.

docstat писал(а):
здесь все надо решать на уровне работы базы данных, C# - он просто дергает соответствующие скрипты...

Вот тебе товарищ тоже самое говорит.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan