powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как сделать export из базы на сервере (MySql) в базу клиента (Access)
28 сообщений из 28, показаны все 2 страниц
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557086
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557609
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запросом Sql. Или ты что-то другое хотел?
В принципе можно так, ну я поподробнее расскажу:
1. Открываешь Аксес.
2. Создаёшь там связанную через ODBC таблицу (связанную с SQL).
3. Пишешь нужные запросы с участием связанной (связанных) таблицы (таблиц). И запускаешь их под Аксесом.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557769
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне нужно делать это програмно на клиенте,
т.е. у клиента есть кнопка "экспорт", по нажатию берется таблица
из базы на сервере (MySql) и ей делается экспорт в базу клиента (Access).
так можно сделать?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557885
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное лучше это делать на сервере, а потом как-то передавать файл клиенту.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557917
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ка сделать програмно на сервере?
(пишу на ASP не .Net)
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32557979
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так Мах Pro всё вроде расписал уже.

Имеем соединение на MySql - делаем выборку данных например в таблицу DataTable и пишем в файл БД Акцесса, подробнее только самому писать надо :)
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32558053
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, понял.
буду пробовать.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32559256
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hDrummerНаверное лучше это делать на сервере, а потом как-то передавать файл клиенту.
передавать файл клиенту какие есть возможности, кроме как послать по mail?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32562113
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2hDrummer:
мне действительно интересно: передавать файл клиенту - какие есть варианты?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568081
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите пожалуйста в чём разница между
accCon.ConnectionString = "D:\my.mdb" и
accCon.ConnectionString = Server.MapPath("my.mdb")
в первом случае соединение происходит с my.mdb на локальной машине,
а во втором - на сервере?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568092
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас12hDrummer:
мне действительно интересно: передавать файл клиенту - какие есть варианты?
переправь клиента на страницу:
http://server/file
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568106
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас1подскажите пожалуйста в чём разница между
accCon.ConnectionString = "D:\my.mdb" и
accCon.ConnectionString = Server.MapPath("my.mdb")
в первом случае соединение происходит с my.mdb на локальной машине,
а во втором - на сервере?
Друг мой, где ты такие коннекшнстринг нашёл?
Или я что-то не понимаю?
Вот у меня такие, например:
1. Через ODBC:
zapConnectString = "PWD=" & dataPassword & ";DSN=MS Access Database;DefaultDir=" & dataPathDir & ";DriverId=25;DBQ=" & dataPath & ";MaxBufferSize=2048;FIL=MS Access;PageTimeout=5;UID=admin"
2. Через OLEDB:
zapConnectString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=" & Chr(34) & dataPassword & Chr(34) & ";Data Source=" & Chr(34) & dataPath & Chr(34) & ";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=" & Chr(34) & "Microsoft.Jet.OLEDB.4.0" & Chr(34) & ";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568126
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
факт, такой код работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set accCon = Server.CreateObject("ADODB.connection")
accCon.Provider = "Microsoft.Jet.OLEDB.4.0"
accCon.ConnectionString = "D:\my.mdb"
accCon.Open	

sql = " Insert into DB_Names (DB_ID, DB_Name) values (11, 'name1') "

accCon.Execute(sql)
видимо, бОльшая часть параметров по умолчанию воспринимается правильно.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568129
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает- в смысле Insert происходит.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568144
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ты на 6-м Бэйсике пишешь!
Ну и чего? Работает?
Поздравляю, молодец!
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568177
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего ты сразу?..пишу на VB. наверное 6-м, раз ты говоришь.
на чём ещё пишут?
я просто последние 6 лет писал на Java и Jsp, поэтому не очень в курсе.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568181
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас1чего ты сразу?..пишу на VB. наверное 6-м, раз ты говоришь.
на чём ещё пишут?
я просто последние 6 лет писал на Java и Jsp, поэтому не очень в курсе.

Просто у меня на vb6 другая коннекшнстринг. Вот например такая:
exeConnectString = "DSN=MS Access Database;DBQ=" & dataPath & ";DefaultDir=" & dataPathDir & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=" & dataPassword & ";UID=" & dataUser & ";"
или такая:
zapConnectString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=""0101"";Data Source=" & Chr(34) & dataPath & Chr(34) & ";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=" & Chr(34) & "Microsoft.Jet.OLEDB.4.0" & Chr(34) & ";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"

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

Ты кстати зачем от Явы отошёл?
Если не секрет
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568219
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там где я 6 лет работал, мои услуги оказались больше не нужны.
а сейчас делаю проект на ASP, так захотел заказчик.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32568368
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот.
а ситуация такова, что надо по нажатию кнопки на клиенте делать export
3-х таблиц из базы MySql на сервере в базу Access у клиента.
поэтому вопрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set accCon = Server.CreateObject("ADODB.connection")
accCon.Provider = "Microsoft.Jet.OLEDB.4.0"
accCon.ConnectionString = "D:\my.mdb"
accCon.Open	

sql = " Insert into DB_Names (DB_ID, DB_Name) values (11, 'name1') "

accCon.Execute(sql)
делает Insert в базу D:\my.mdb,
я работаю локально, через localhost, поэтому не понимаю, эта база на сервере или на клиенте?
должен ли я делать это на сервере, и потом пересылать клиентам,
или могу делать Connection непосредственно с базой на клиенте?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32569166
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас1ну вот.
а ситуация такова, что надо по нажатию кнопки на клиенте делать export
3-х таблиц из базы MySql на сервере в базу Access у клиента.
поэтому вопрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set accCon = Server.CreateObject("ADODB.connection")
accCon.Provider = "Microsoft.Jet.OLEDB.4.0"
accCon.ConnectionString = "D:\my.mdb"
accCon.Open	

sql = " Insert into DB_Names (DB_ID, DB_Name) values (11, 'name1') "

accCon.Execute(sql)
делает Insert в базу D:\my.mdb,
я работаю локально, через localhost, поэтому не понимаю, эта база на сервере или на клиенте?
должен ли я делать это на сервере, и потом пересылать клиентам,
или могу делать Connection непосредственно с базой на клиенте?
отвечаю по-порядку.
1. тебе надо было переходить не на vb6, а на vb.net или лучше на j#.net. Хотя если заказчик старомоден, то ничего не поделаешь - vb6 лучшее решение.
2. если бы ты делал на asp.net (cредствами vb.net или j#.net), то обновлялась бы база Аксеса на сервере. Но поскольку ты пишешь на vb6, то база Аксес обновляется на клиенте. Тебе это и надо как раз. На всякий случай всё же проверь. Но в теории так. Кстати, тут возникает неудобство, что связанную с sql сервером таблицу тебе придётся делать на каждом клиенте. Можно этого избежать. Для этого сделай два коннекшина. Первый с sql сервером, второй с Аксесом на клиенте. Далее делаешь запрос на выборку из sql сервера, сохраняешь результат в массиве (с помощью 1-го коннекшина), далее делаешь запрос на удаление всех записей из таблицы Аксеса на клиенте и кучу запросов на добавление строки в пустую таблицу из массива (с помощью второго коннекшина). К сожалению нет запроса на добавление сразу всей таблицы из массива, придётся построчно добавлять. Но поскольку этот фокус будет идти на клиенте, то очень быстро получится, можешь даже прогрессбар отобразить.
3. запрос ты привёл вроде правильный. Уточняю, что сперва надо удалить все строки из таблицы, потом запрос на добавление. Ну и не забудь, что сперва надо создать таблицу, которой у клиента нет. Для этого используй запрос на создание таблицы.

Есть ещё вариант - можешь сделать один MDB для всех, разместив его где-нибудь на серваке. Клиентам просто пропиши путь к этому файлу. Тогда у всех будет одинаково.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32569530
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за подробный ответ.
1. конечно лучше было бы работать в .net, но так сложилось, что пришлось делать простой asp.
2. и 3. думаю так сделать:
каждый клиент держит у себя в одной и той же директории .mdb одинаковой структуры.
по нажатии кнопки на клиенте, делаю выборку из MySql, открываю connection с .mdb клиента, стираю всё из таблицы, и делаю в цикле insert.
так вроде должно всё хорошо быть.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32569544
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если чего не получится - спрашивай.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32609572
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возвращаюсь к теме.
я работал локально на localhost, такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set accCon = Server.CreateObject("ADODB.connection")
accCon.Provider = "Microsoft.Jet.OLEDB.4.0"
accCon.ConnectionString = "D:\my.mdb"
accCon.Open	

sql = " Insert into DB_Names (DB_ID, DB_Name) values (11, 'name1') "

accCon.Execute(sql)
вставлял строчку в таблицу my.mdb, которая находится на моей машине.
сложил всё на сервер, теперь получаю ошибку:
Microsoft JET Database Engine error '80004005'

'D:\my.mdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
значит, ищется D:\my.mdb на сервере, а мне надо на клиенте.
Как мне надо изменить ConnectionString ? спасибо.
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32611479
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сервере всё-таки обновляется, да?
Ну чтож, меняй коннекшнстринг:
accCon.ConnectionString = "\\Имя_Компьютера_Клиента\D\my.mdb"
Max Pro
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32611510
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое Имя_Компьютера_Клиента? IP ?
"\\111.111.111.111\D\my.mdb", так?
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32611799
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стас1а что такое Имя_Компьютера_Клиента? IP ?
"\\111.111.111.111\D\my.mdb", так?
Ну тут на выбор: или IP или имя сокращённое или имя полное, например:
1.\\10.205.13.180\d\my.mdb
2.\\IvanovII\d\my.mdb
3.\\IvanovII.piter.respect.ru\d\my.mdb
здесь respect - домен 2-го уровня, а piter - домен 3-го уровня.
соответственно ru - домен 1-го уровня.
Все названия доменов прописываются на сервере в DNS кажется.
Если пропишешь по IP, то имей ввиду, что его надо статическим сделать, а то после перезагрузки компьютера IP может поменяться случайным образом.
Вообще в коде программы узнай имя компьютера и подставь в конекшнстринг.
я не помню точно, кажется так как-то
dim sName as string
sName=User.Name
или sName=System.Windows.Forms.SystemInformation.ComputerName
или sName=System.Windows.Forms.SystemInformation.UserName
или sName=System.Windows.Forms.SystemInformation.UserDomainName
или как-то ещё, не знаю как
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32613552
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ещё здесь описано как имя компьютера определить. тут правда для .NET, но может и в vb6 тебе прокатит:
http://www.aspnetmania.com/Forums/ForumMessage/45373.html
Max Pro
...
Рейтинг: 0 / 0
как сделать export из базы на сервере (MySql) в базу клиента (Access)
    #32618729
стас1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытаюсь сначала сделать это на localhost
не хочет работать ни так:
Код: plaintext
\\ 127 . 0 . 0 . 1 \D:\my.mdb
ни так:
Код: plaintext
\\localhost\D:\my.mdb
получаю сообщение:
'\\localhost\D:\my.mdb' is not a valid path.
как бороться?
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как сделать export из базы на сервере (MySql) в базу клиента (Access)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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