Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование самой базы данных 
V
    Опции темы
agealex
Дата 1.11.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Visual studio 2008 Framework2
база данных  Interbase 7

Нужно скопировать базу данных целиком, как это сделать? , как файл перекопировать не получается так как он используется. Подскажите люди добрые

PM MAIL   Вверх
elbjarn
Дата 1.11.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 13.4.2008
Где: Дубна

Репутация: нет
Всего: 3



не знаю, как это делается в interbase, но в ms sql для этого достаточно сделать бэкап базы, а потом восстановить ее на другом сервере. может и в interbase схожий алгоритм, посмотрите в сторону бэкапов/восстановления.
PM MAIL ICQ   Вверх
archeg
Дата 2.11.2008, 02:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: нет
Всего: 27



Цитата(agealex @ 1.11.2008,  18:05)
Visual studio 2008 Framework2
база данных  Interbase 7

Нужно скопировать базу данных целиком, как это сделать? , как файл перекопировать не получается так как он используется. Подскажите люди добрые

Есть специальные утилиты (гугл ;)) которые умеют конвертить из любой базы в любую, да еще и делают это все селектами (т.е. базу деаттачить не нужно). В основном платные, но можно скачать и триал )


Если же нужно кодом - то это сложнее. Выбираешь ddl, строишь ее на другом сервере, потом делаешь селекты - инсерты (или балк инсерты).....

Это сообщение отредактировал(а) archeg - 2.11.2008, 02:09


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
MasterOfCode
Дата 2.11.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Для Interbase существует создание бэкапов, сначала создаешь бэкап, а потом на другой машине его разворачиваешь.


--------------------
user posted image
PM ICQ   Вверх
archeg
Дата 3.11.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: нет
Всего: 27



Если не ошибаюсь, при востановлении базы с бекапа ее нужно деаттачить, я так понял автару это не подходит. В крайнем случае база точно не работает некоторое время


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
MasterOfCode
Дата 3.11.2008, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



А как по другому? Полюбому придется деаттачить. Хотя я не знаю существует ли в Interbase создание горячих бэкапов. ИМХО тему в БД нужно перевести!


--------------------
user posted image
PM ICQ   Вверх
agealex
Дата 5.11.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Как я понял :

Существует 3 варианта:

1. Кодом селекты и инсерты
2. Бекапом базы данных отсоединяя ее
3. Используя утилитку какую нить.

В моем случае лучше остановиться на варианте кода smile 

Основное условие это временное.

Копирование происходит на различные носители, с уже существующими и еще не существующими базами данных.

Хотелось бы поподробнее узнать про механизм копирования кодом smile
PM MAIL   Вверх
MasterOfCode
Дата 5.11.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(agealex @  5.11.2008,  14:16 Найти цитируемый пост)
1. Кодом селекты и инсерты

Это по моему и есть "горячие бэкапы". smile
Цитата(agealex @  5.11.2008,  14:16 Найти цитируемый пост)
Хотелось бы поподробнее узнать про механизм копирования кодом

Создавайте новую тему, и лучше тут. И назовите как нибудь получше.

Добавлено через 2 минуты и 48 секунд
Или воспользоваться поиском, вот например есть тема.


--------------------
user posted image
PM ICQ   Вверх
Idsa
Дата 5.11.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(MasterOfCode @  5.11.2008,  16:41 Найти цитируемый пост)
Это по моему и есть "горячие бэкапы". smile

Нет.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
agealex
Дата 7.11.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Цитата

Создавайте новую тему, и лучше тут. И назовите как нибудь получше.

Ну насчёт перевода этой темы в другой раздел я не согласен так как вопрос относится к вопросам кодирования а не какой утилиткой лучше это сделать. 
а насчёт названия согласен слово "самой" - лишнееsmile

Это сообщение отредактировал(а) agealex - 7.11.2008, 15:13
PM MAIL   Вверх
MasterOfCode
Дата 7.11.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(agealex @  7.11.2008,  17:10 Найти цитируемый пост)
какой утилиткой лучше это сделать

 smile  Что ты имеешь ввиду? 
Возможно скажу что то новое, но средствами C# вам не решить этой проблеммы. По крайней мери если "штаны через голову не одевать".  smile 


--------------------
user posted image
PM ICQ   Вверх
agealex
Дата 7.11.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



Средствами С# вполне решаема, используя dll от Firebird  для C#  вполне, простой селект и инсерт. Единственное что смущает это  время необходимое для копирования базы размером 10 Гб, по крайней мере содержимое все этой базы я вынуть могу, а скопировать его уже куда то -
то другой вопрос, собственно который я и хотел узнать smile

Это сообщение отредактировал(а) agealex - 7.11.2008, 15:17
PM MAIL   Вверх
agealex
Дата 18.11.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 2.9.2007

Репутация: нет
Всего: нет



В общем сам ступил длл от Firebird для работы со студией позволяет избежать все эти проблемы http://firebirdsql.org/dotnetfirebird/docu.../1.7/index.html, тут описание ее методом и классов. Единственным минусом является указание размера базы, а так как оно закрыто на чтение приходится использовать класс FileInfo
Код

 try
            {
                FbConnectionStringBuilder cs = new FbConnectionStringBuilder();

                FileInfo Info =  new FileInfo(@"Database= " + DateBasePath + @"\TEST6.GDB");
                String FileSize = Info.Length.ToString();
                FileSize = FileSize.Substring(0, FileSize.Length - 3);//так как оно в байтах а надо в килобайтах
                cs.UserID = "SYSDBA";
                cs.Password = "masterkey";
                cs.Database = @"C:\SharedAlex\TEST6.GDB";

                FbBackup backupSvc = new FbBackup();

                backupSvc.ConnectionString = cs.ToString();
                backupSvc.BackupFiles.Add(new FbBackupFile(@"c:\testdb2.gbk", Convert.ToInt32( FileSize)));
                backupSvc.Verbose = true;

                backupSvc.Options = FbBackupFlags.IgnoreLimbo;


                backupSvc.Execute();
              }
            catch (Exception c)
            {
 
            }

\
             
            }
            catch(Exception ex)
            {
            }
 

В общем так все работает

Добавлено через 40 секунд
В общем сам ступил длл от Firebird для работы со студией позволяет избежать все эти проблемы http://firebirdsql.org/dotnetfirebird/docu.../1.7/index.html, тут описание ее методом и классов. Единственным минусом является указание размера базы, а так как оно закрыто на чтение приходится использовать класс FileInfo
Код

 try
            {
                FbConnectionStringBuilder cs = new FbConnectionStringBuilder();

                FileInfo Info =  new FileInfo(@"Database= " + DateBasePath + @"\TEST6.GDB");
                String FileSize = Info.Length.ToString();
                FileSize = FileSize.Substring(0, FileSize.Length - 3);//так как оно в байтах а надо в килобайтах
                cs.UserID = "SYSDBA";
                cs.Password = "masterkey";
                cs.Database = @"C:\SharedAlex\TEST6.GDB";

                FbBackup backupSvc = new FbBackup();

                backupSvc.ConnectionString = cs.ToString();
                backupSvc.BackupFiles.Add(new FbBackupFile(@"c:\testdb2.gbk", Convert.ToInt32( FileSize)));
                backupSvc.Verbose = true;

                backupSvc.Options = FbBackupFlags.IgnoreLimbo;


                backupSvc.Execute();
              }
            catch (Exception c)
            {
 
            }

\
             
            }
            catch(Exception ex)
            {
            }
 

В общем так все работает
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1125 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.