Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как записать таблицу в БД?

5.8K
30 ноября 2006 года
ivan1985
42 / / 29.06.2005
как записать таблицу в БД?
пытался сделать так:
Код:
//FoxCon - соединение с foxpro
//OracleCon - соединение с oracle
//чтение из foxpro
String CommandText = "SELECT * from " + OneFile.Name.Substring(0,OneFile.Name.LastIndexOf("."));
OleDbDataAdapter dadapt = new OleDbDataAdapter(CommandText, FoxCon);
DataSet ds = new DataSet();
dadapt.Fill(ds, "RecFox");                  
//Запись в oracle
OleDbDataAdapter dadapt_orcl = new OleDbDataAdapter(CommandText, OracleCon);
dadapt_orcl.Update(ds, "RecFox");
FoxCon.Close();

Из foxpro читает, в оракл не пишет, при том, что exception не выдает.
Можно, конечно, создать в оракле таблицу с нужными столбцами и всё построчно занести, но наверное есть и простой способ...
337
30 ноября 2006 года
shine
719 / / 09.06.2006
А ничего, что ты в Оракл фигачишь тот же самый SELECT, что и в FoxPro? Может ему какой-нибудь INSERT подсунуть? Ты же все-таки писать в него хочешь, а не читать...
273
02 декабря 2006 года
3A3-968M
1.2K / / 22.12.2005
А как насчёт того, чтобы и соединение с Ораклом закрыть??? OracleCon.Close()
5.8K
02 декабря 2006 года
ivan1985
42 / / 29.06.2005
Цитата: 3A3-968M
А как насчёт того, чтобы и соединение с Ораклом закрыть??? OracleCon.Close()


оно закрывается, потом, после добавления всех таблиц...
не в том суть - работало бы и без закрытия, наверное придется делать create table, insert, insert, insert...

263
02 декабря 2006 года
koltaviy
816 / / 16.12.2004
А зачем CREATE TABLE - из твоего кода, таблица уже существует:)..
А вообще, сначала делаешь выборку, а потом:
 
Код:
[SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i = 0; i < dsFox.RecFox.Rows.Count; i++)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#008080]DataRow[/COLOR][/SIZE][SIZE=2] dataRow = dsFox.RecFox.Rows;[/SIZE]
[SIZE=2]dsOra.RecOra.Rows.Add(dataRow);[/SIZE]
[SIZE=2]}[/SIZE]

Ну, потом Update, конечно!!:)
Чо-то в этом роде..
5.8K
02 декабря 2006 года
ivan1985
42 / / 29.06.2005
Цитата: koltaviy
А зачем CREATE TABLE - из твоего кода, таблица уже существует:)..
А вообще, сначала делаешь выборку, а потом:
 
Код:
[SIZE=2][COLOR=#0000ff]for[/COLOR][/SIZE][SIZE=2] ([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i = 0; i < dsFox.RecFox.Rows.Count; i++)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#008080]DataRow[/COLOR][/SIZE][SIZE=2] dataRow = dsFox.RecFox.Rows;[/SIZE]
[SIZE=2]dsOra.RecOra.Rows.Add(dataRow);[/SIZE]
[SIZE=2]}[/SIZE]

Ну, потом Update, конечно!!:)
Чо-то в этом роде..


Таблица существует в foxpro(откуда я её читаю), нужно записать в Oracle - там ее нет.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог