Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос .MDB проекта с одного SQLServer'а на другой / 9 сообщений из 9, страница 1 из 1
28.10.2004, 10:19:45
    #32758456
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
Поясните, плиз, новичку в .ADP - как следует вести разработку в смысле дистрибьюции проекта в другую сеть :

т.е. , например, я дома на своем компе со своим SQLServer2000 разработал .MDB проект , после этого как его перенести на работу , ведь и имя сервера там другое , и наверное какие-и настройки потребуются ?
Кроме всего , не знаю еще как серверную часть перенести ...
...
Рейтинг: 0 / 0
28.10.2004, 10:30:48
    #32758482
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
Так что у Вас: MDB или ADP?
Для MDB работа с MSSQL идет через присоениненные таблицы. Можно переприсоединить таблицы заново, или сделать так, чтобы строка подключения и/или ODBC DSN и дома и на работе были одинаковыми.

А серверную часть - первый раз Backup-restore, затем скриптами.
...
Рейтинг: 0 / 0
28.10.2004, 10:43:22
    #32758522
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
Пардон, в заголовке и тексте ошибка - нужно везде читать .ADP проект.
...
Рейтинг: 0 / 0
28.10.2004, 11:09:42
    #32758619
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
Клиент:
на каждом клиенте придется поставить MDAC 2.8 и возможно клиенттулз
возможно понадобится подправить строку коннекта проекта в ADP файле
ADP должен быть для каждого клиента своя копия

Сервер:
версия переноса сервера 1
если исходный сервер можно остановить на время то можно сделать следущее
установить новый сервер той же версии и сервис паков что и исходный
скопировать все *.*DF файлы с исходного на новый (пути должны совпадать)
все.

версия переноса сервера 2
на исходном сервере делаем бэкап базы - получаем файл .BAK

на новом сервере запускаем Query Analizer и запускаем такой скрипт:

Код: plaintext
1.
2.
3.
4.
5.
RESTORE FILELISTONLY  -- чтоб в результате скрипта показало какие файлы задействованы
   FROM DISK = 'C:\Log\QA_db_200410261014.BAK'  -- имя файла бэкапа из которого берем данные
RESTORE DATABASE QA  -- Имя базы данных (новое - такой базы не должно быть) в которую будут залиты данные
   FROM DISK =  'C:\Log\QA_db_200410261014.BAK'   -- имя файла бэкапа из которого берем данные
   WITH MOVE 'QA_Data' TO 'c:\data\QA_Data.MDF',  -- путь и имя файла для данных
   MOVE 'QA_Log' TO 'c:\log\QA_Log.LDF'  -- путь и имя файла для транзакшен лога

следует учесть что логины сервера не перенесутся если не скопировать базу master
...
Рейтинг: 0 / 0
28.10.2004, 11:15:03
    #32758629
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
авторПардон, в заголовке и тексте ошибка - нужно везде читать .ADP проект.

кто -нить исправьте заголовок пожалуйста
...
Рейтинг: 0 / 0
28.10.2004, 11:27:27
    #32758664
yuniki
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
2 АлексейК >

Для клиента)
- C MDAC ясно, а какой клиенттулз имеется ввиду ?
- как подправить строку коннекта в ADP файле ?
- нельзя ли держать на файловом сервере один ADP и разделяемо его использовать всеми клиентами, что соблазнительно при его постоянных модификациях ?

Для сервера >
Это описан, как я понял, перенос одной, но всей проектируемой базы .
Ну , а если частично нужно переносить некоторые таблицы , хранимые процедуры и прочие серверные объекты. Т.е. разработка идет в одной сети , а нужна дистрибьюция, частичный апгрейд в другую ? Хотя это уже вопрос , видимо , для форума по MsSQL.
...
Рейтинг: 0 / 0
28.10.2004, 11:43:25
    #32758716
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
Можно сделать такой файл:
SERVER=Rogovoy-DV
DATABASE=DBF_181004
WinAuth=True
Назвать его по имени приложения и дать расширение cfg (расширение можно давать любое).
Далее, при загрузке приложения выполняем считывание информации:

Код: plaintext
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.
Public Type struct_cnn
    strSERVER As String
    strDATABASE As String
    strAPPLICATION As String
    cstrWinAuth As String
End Type

'массив строк (имена процедур), которые надо запустить после логина
Public ExecStrings As New Collection

Public m_cnn As struct_cnn

Public Function ReadConfig() As Boolean
Const cstrSERVER As String = "SERVER="
Const cstrDATABASE As String = "DATABASE="
Const cstrEXECUTE As String = "EXECUTE="
Const cstrWinAuth As String = "WinAuth="

Dim strConfigFileName As String
Dim s As String

m_cnn.strAPPLICATION = CurrentProject.Name
Dim p As Long
p = InStr( 1 , m_cnn.strAPPLICATION, ".")
If p >  0  Then
    m_cnn.strAPPLICATION = Left(m_cnn.strAPPLICATION, p -  1 )
End If

strConfigFileName = CurrentProject.Path & "\" & m_cnn.strAPPLICATION & ".cfg"
If Len(Dir(strConfigFileName)) =  0  Then
    MsgBox "Не найден конфигурационный файл приложения: " & strConfigFileName, vbExclamation, "Ошибка"
    ReadConfig = False
    Exit Function
End If

Dim i As Integer
For i =  1  To ExecStrings.Count
    ExecStrings.Remove  1 
Next i

Dim f As Integer
f = FreeFile
Open strConfigFileName For Input Access Read As #f
Do While Not EOF(f)
    Line Input #f, s
    
    If InStr( 1 , s, cstrSERVER) >  0  Then
        m_cnn.strSERVER = Mid(s, Len(cstrSERVER) +  1 , Len(s))
    End If
    
    If InStr( 1 , s, cstrDATABASE) >  0  Then
        m_cnn.strDATABASE = Mid(s, Len(cstrDATABASE) +  1 , Len(s))
    End If
    
    If InStr( 1 , s, cstrWinAuth) >  0  Then
        m_cnn.cstrWinAuth = Mid(s, Len(cstrWinAuth) +  1 , Len(s))
    End If
    
    If InStr( 1 , s, cstrEXECUTE) >  0  Then
            ExecStrings.Add Mid(s, Len(cstrEXECUTE) +  1 , Len(s))
    End If
    
Loop
Close #f

ReadConfig = True


End Function

Описанный код - это только часть модуля для подключения.
Строку коннекта можно открыть след. образом, если m_cnn.cstrWinAuth = TRUE

.OpenConnection "PROVIDER=SQLOLEDB.1;INTEGRATED SECURITY=SSPI;PERSIST SECURITY INFO=TRUE;DATA SOURCE=" & m_cnn.strSERVER & ";INITIAL CATALOG=" & m_cnn.strDATABASE

В противном случае, запускать свою форму для ввода логина и пароля и формировать строку подключения. Следует помнить, что отданный клиенту файл должен не иметь свойств подключения, т.е. перед тем как клиенту файл отдать или везти его из дома делаем CurrentProject.OpenConnection. Остальное делаем сами:)
...
Рейтинг: 0 / 0
28.10.2004, 12:00:32
    #32758767
Mr. GES
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
операции attach-detach допускаются ?
удобно использовать их, если БД находится на стадии разработки ...
для этого нужно быть sa или dbo

могу поделиться собственной программкой (на .NET) (ускоряет процесс так как не надо долго шариться по узлам в EM)
...
Рейтинг: 0 / 0
28.10.2004, 12:03:17
    #32758779
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос .MDB проекта с одного SQLServer'а на другой
по вопросам:
Для клиента)
- C MDAC ясно, а какой клиенттулз имеется ввиду ?


Имеется ввиду клиент кофиг утилита которая позволяет сделать локальный псевдоним сервера при необходимости подмены имен - устанавливается из дистрибутива сервера

- как подправить строку коннекта в ADP файле ?
подключать можно как хаммер предлагает или доверенное соединение использовать или есть еще вариант хранить в реестре пароль и логин
для начала наверное удобнее всего доверенное соединение


- нельзя ли держать на файловом сервере один ADP и разделяемо его использовать всеми клиентами, что соблазнительно при его постоянных модификациях ?
нет нельзя. нужно его тиражировать. можно вручную, можно автоматически при запуске компа, можно при запуске базы, можно вести контроль версий в процессе работы - в форуме очень хорошо раскрыт вопрос ищи по "Обновление ADP"

Для сервера >
Это описан, как я понял, перенос одной, но всей проектируемой базы .
Ну , а если частично нужно переносить некоторые таблицы , хранимые процедуры и прочие серверные объекты. Т.е. разработка идет в одной сети , а нужна дистрибьюция, частичный апгрейд в другую ? Хотя это уже вопрос , видимо , для форума по MsSQL.

В энтерпрайз - менеджере есть мастер переноса единичных объектов
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос .MDB проекта с одного SQLServer'а на другой / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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