Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / из access в mssql / 24 сообщений из 24, страница 1 из 1
24.06.2010, 11:35
    #36705299
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Здравствуйте, возникла необходимость импортировать три таблички из базы Access в mssql с добавлением содержимого. Тоесть появляется новая база, кладу ее в папку с программой, программа выбирает эти 3 таблички и их переносит в уже существующую базу на mssql с этими тремя таблицами.

Как это реализовать? Нужно ли загружать в datagrid'ы эти 3 таблицы перед экспортом из аксесса? и как передать все загруженное из аксесса в mssql, есть универсальные методы может какие?
Спасибо
...
Рейтинг: 0 / 0
24.06.2010, 11:40
    #36705320
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEBЗдравствуйте, возникла необходимость импортировать три таблички из базы Access в mssql с добавлением содержимого. Тоесть появляется новая база, кладу ее в папку с программой, программа выбирает эти 3 таблички и их переносит в уже существующую базу на mssql с этими тремя таблицами.

Как это реализовать? Нужно ли загружать в datagrid'ы эти 3 таблицы перед экспортом из аксесса? и как передать все загруженное из аксесса в mssql, есть универсальные методы может какие?
Спасибо

mssql сам по себе в принципе обладает достаточно развитыми функциями импорта-экспорта
посмотрите OPENROWSET - это самое простое, если, конечно, самому серверу доступен аксессовский файл.
...
Рейтинг: 0 / 0
24.06.2010, 11:42
    #36705325
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
- DTS
- bcp
- обычный визард Import/Export в MSSMS
- что-то своё, используя ADO(OLE DB providers)
- на ХП на стороне сервера, используя линковку к mdb

выбирай
...
Рейтинг: 0 / 0
24.06.2010, 11:42
    #36705329
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Будет примерно так:

Код: plaintext
INSERT INTO .... SELECT * FROM OPENROWSET(....)
...
Рейтинг: 0 / 0
24.06.2010, 11:50
    #36705353
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
на x64 системах не будет работать провайдер Microsoft Jet 4.0 OLE DB Provider
...
Рейтинг: 0 / 0
24.06.2010, 12:22
    #36705499
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Shocker.Pro,

Скажите, а как сделать проверку
делать такое то действие, пока не будет выбрана последняя запись в datagrid

хочу попробовать добавлять построчно для каждой таблицы отдельно

Код: plaintext
1.
2.
3.
4.
5.
Adodc1.Refresh
Adodc1.Recordset.AddNew 
Adodc1.Recordset("name_po") = Combo1.Text  
Adodc1.Recordset("version") = Text1.Text
Adodc1.Recordset("primechanie") = RichTextBox1.Text
Adodc1.Recordset.Update 

нужно чтобы добавились все записи подгруженные в datagrid
...
Рейтинг: 0 / 0
24.06.2010, 12:24
    #36705510
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
А зачем вам датагрид?
Сканируйте Adodc1.Recordset, если вам так хочется, и перекидывайте поля из одного рекордсета в другой.
...
Рейтинг: 0 / 0
24.06.2010, 12:25
    #36705515
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Shocker.Pro,

для наглядности )
...
Рейтинг: 0 / 0
24.06.2010, 12:27
    #36705521
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Do Until RS1.EOF
  RS2.AddNew
  For i= 0  to RS1.Count- 1 
    RS2(i)=RS1(i)
  Next
  RS2.Update
  RS1.MoveNext
Loop
...
Рейтинг: 0 / 0
24.06.2010, 12:30
    #36705528
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
юзайте UpdateBatch с рекордсетом adLockBatchOptimistic
...
Рейтинг: 0 / 0
24.06.2010, 12:37
    #36705555
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
ошибочка закралась
Shocker.Pro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Do Until RS1.EOF
  RS2.AddNew
  For i= 0  to RS1.FieldsCount- 1 
    RS2(i)=RS1(i)
  Next
  RS2.Update
  RS1.MoveNext
Loop
...
Рейтинг: 0 / 0
24.06.2010, 12:38
    #36705561
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
да что ж такоеShocker.Proошибочка закралась
Shocker.Pro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Do Until RS1.EOF
  RS2.AddNew
  For i= 0  to RS1.Fields.Count- 1 
    RS2(i)=RS1(i)
  Next
  RS2.Update
  RS1.MoveNext
Loop
...
Рейтинг: 0 / 0
24.06.2010, 12:50
    #36705604
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Shocker.Pro,
Run-time error '-2147217887 (80040e21)'
Произошли ошибки во время выполнения многошаговой операции.
Проверьте значения всех состояний.

что делать )
...
Рейтинг: 0 / 0
24.06.2010, 12:52
    #36705608
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEBShocker.Pro,
Run-time error '-2147217887 (80040e21)'
Произошли ошибки во время выполнения многошаговой операции.
Проверьте значения всех состояний.

что делать )
Если вы воспользовались советом Кости по поводу Batch, тои мой код надо менять.
...
Рейтинг: 0 / 0
24.06.2010, 12:53
    #36705612
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEB,

вешаться

весь код импорта сюда выкладывайте и желательно скрипт таблиц на SQL-сервере.
...
Рейтинг: 0 / 0
24.06.2010, 12:54
    #36705613
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Shocker.ProMasterWEBShocker.Pro,
Run-time error '-2147217887 (80040e21)'
Произошли ошибки во время выполнения многошаговой операции.
Проверьте значения всех состояний.

что делать )
Если вы воспользовались советом Кости по поводу Batch, тои мой код надо менять.
нет, пользовался вашим советом
первая табличка без ошибок заполнилась, а вот вторая - нет

Id uniqueidentifier
IN nvarchar
IsR bit
Name nvarchar
NameTP nvarchar
...
Рейтинг: 0 / 0
24.06.2010, 12:56
    #36705625
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEBпервая табличка без ошибок заполнилась, а вот вторая - нет
А рекордсеты не забыли переоткрывать?
В общем - да, весь код гоните и скрипты таблиц.
...
Рейтинг: 0 / 0
24.06.2010, 12:57
    #36705630
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEBShocker.ProMasterWEBShocker.Pro,
Run-time error '-2147217887 (80040e21)'
Произошли ошибки во время выполнения многошаговой операции.
Проверьте значения всех состояний.

что делать )
Если вы воспользовались советом Кости по поводу Batch, тои мой код надо менять.
нет, пользовался вашим советом
первая табличка без ошибок заполнилась, а вот вторая - нет

Id uniqueidentifier
IN nvarchar
IsR bit
Name nvarchar
NameTP nvarchar

с размерностью может проблемы? Id у вас как заполняется, через триггер на вставку или сами должны задавать?
...
Рейтинг: 0 / 0
24.06.2010, 13:15
    #36705704
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
нашел ошибку... для второй таблицы неверно указал ее название %)

но тут другая ошибка:
BOF или EOF имеет значение True, либо текущая запись удалена.
Для выполняемой операции требуется текущая запись.

хотя данные нормально импортировались в mssql
...
Рейтинг: 0 / 0
24.06.2010, 13:19
    #36705725
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Konst_Oneна x64 системах не будет работать провайдер Microsoft Jet 4.0 OLE DB Provider

Дык это... Вроде работает все...
...
Рейтинг: 0 / 0
24.06.2010, 13:21
    #36705733
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
MasterWEBно тут другая ошибка:
BOF или EOF имеет значение True, либо текущая запись удалена.
Для выполняемой операции требуется текущая запись.
будем играть в угадай мелодию? (в каком ухе у меня жужжит (с))

код давайте с указанием строки, на которой ошибка.
...
Рейтинг: 0 / 0
24.06.2010, 13:23
    #36705742
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
AndrFKonst_Oneна x64 системах не будет работать провайдер Microsoft Jet 4.0 OLE DB Provider

Дык это... Вроде работает все...

я про SQL-сервер на 64-разрядной системе. провайдер Jet для 64 не выпускался. правда есть какие-то решения для access 2007, там другой провайдер.
...
Рейтинг: 0 / 0
24.06.2010, 13:30
    #36705773
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
Konst_Oneна x64 системах не будет работать провайдер Microsoft Jet 4.0 OLE DB Provider
Для Access 2010 есть x64 Microsoft Access Database Engine 2010 Redistributable .
...
Рейтинг: 0 / 0
24.06.2010, 13:47
    #36705847
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из access в mssql
big-dukeKonst_Oneна x64 системах не будет работать провайдер Microsoft Jet 4.0 OLE DB Provider
Для Access 2010 есть x64 Microsoft Access Database Engine 2010 Redistributable .

вот, точно
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / из access в mssql / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]