| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Проблема с переносом программы |
| Автор: valentos 24.12.2006, 18:54 |
| Короче, есть готовая прога с базой данных Acces, через ADO. При переносе проги на другой комп, на котором не было установлено Delph, выдается ошибка при запуске проги. Как с этим быть? |
| Автор: TaNK 24.12.2006, 19:13 | ||
права администраторские на том компе куда переносишь....поидее все должно работать...у меня такое было когда, я работал под юзверем..а не под администратором.. |
| Автор: Rodman 24.12.2006, 19:37 |
про ошибку поподробнее |
| Автор: valentos 24.12.2006, 20:01 | ||||
Microsoft обнаружена ошибка... Отправить счет. Добавлено @ 20:04
На всех компах где я пытался запустить прогу, я заходил под админом |
| Автор: Rodman 24.12.2006, 20:07 |
ни че сссеее.. и так на каждой машине... если да то попробуй перекомпиль снова... |
| Автор: TaNK 24.12.2006, 20:38 | ||||||
все конечно может быть..но может просто тупо не установлены дрова OBDC - а возможно лучше сделать как посоветовал Rodman! |
| Автор: valentos 24.12.2006, 20:53 | ||||
Пробовал, идет тока там , где есть Делфа Добавлено @ 21:00
Ты имеешь ввиду эти дрова "C:\Program Files\Common Files\ODBC\" ? Если да, то их нет на моей тачке и прога работает |
| Автор: Rodman 24.12.2006, 21:49 |
| значит тебе нужно компилить с библиотеками вместе. |
| Автор: SergeBS 25.12.2006, 08:16 |
| valentos, Уж не Винда ли 95-98 выпендривается? Ставь MDAC >= 2.6 (или IE >= 5.5). TaNK, ODBC и ADO тут никак не связаны - Access. А вот отсутствие MS Jet приведет к "нужному" результату. |
| Автор: valentos 25.12.2006, 13:41 | ||
Тестил на 2000/XP. А MS Jet я использовал 4.0 (Вроде как на любой тачке должен быть) |
| Автор: TaNK 25.12.2006, 14:06 | ||||
выложи тут программку, посмотрим что с ней не так....только заархивируй ее... |
| Автор: valentos 25.12.2006, 15:20 |
| Блин, многовато весит(Более 1M заархивированный EXEшник, а с исходниками 3.5 M) , и скорость передачи у меня огромная 3 KB/S |
| Автор: TaNK 25.12.2006, 17:06 | ||
exe-выкинь он нам не нужен, а оставь все остальное и заархивируй(в другой папке это сделай..что ты будешь сюда отсылать), после перекомптляции(если конечно все ок) он создаться заново, так что...думай! |
| Автор: SergeBS 25.12.2006, 17:07 |
| valentos, 1. Смотри в сторону опции run-time packages - примерно так. 2. Как связь с базой Access прописываешь? 3. А кроме как на твоей тачке оно хоть где-то работает? |
| Автор: Mephisto 26.12.2006, 10:26 |
| А Access-то стоит? |
| Автор: valentos 26.12.2006, 23:20 | ||||||
Прикинь, наверное ты будешь удивлен, но Accses стоит везде где я тестил!!!
- Связь с базой через TADOconnection, конечно если ты знаешь такой компонент. Путь прописывал неполный (т.е. Имя.mdb), также могу предугадать следующий твой морознутый вопрос(типа, может у тебя база и прога в разных папках) ОТВЕТ: В одной!!! - А насчет твоего второго вопроса (Блин, ты наверно невыспался) Расклад такой, в начале этой темы вроде должно быть написано Прога идет только там, где есть Delphi (для тебя расшифрую ТАМ ГДЕ СТОИТ Delphi----имеется ввиду не только моя тачка) Идем дальше
- Я подумал, ты знаешь, я уже второй год считал что после перекомпиляции EXEшник не создается, но ты меня честное слово, УДИВИЛ!!! Ну а если серьезно, то без EXE архив весит 2mb (вроде на форуме написано что выкладывать можно только 120Kb), если можно выложить 2mb то завтра скину(Просто сегодня иду на пиво) Добавлено @ 23:34 Если кому че не понравилось, извиняйте, просто настрой у меня сегодня очень плохой. |
| Автор: SergeBS 27.12.2006, 15:57 | ||||
| valentos, Слушай, НЕморознутый, НЕ ХАМИ. Это у тебя проблемы, а не у меня. И эти проблемы ты излагаешь мягко говоря "по-обезьяньи". Т.е. так, что тебе может и понятно ТВОЕ изложение, но и то вряд ли... Повторяю для ОСОБО "понятливых":
И раз оно идет там где стоит Delphi, значит кое-кто (не будем показывать пальцем) выставил флажок Build with run-time packages (что впрочем вряд ли), а правильный ответ - задействовал закладку Servers, не разобравшись, как этот сервер Access встроить в приложение. Поэтому получил эффект аналогичный флажку Build ... Mephisto,
Это неважно. В W2000/XP движок MS Jet наличествует во вполне современном виде. Т.е. проблема в том, что нет запуска движка, поскольку сервер запуска - в bpl на машине разработки. Ну оччень старые грабли. Хотя бьют по-прежнему |
| Автор: SergeBS 27.12.2006, 17:27 | ||
Mephisto,
А подробнее? Не верится как-то. Это же по большому счету - вырубить напрочь кусок MDAC, который втихую обновляется при обновлении любого более-менее серьезного продукта типа IE/Office... |
| Автор: Mephisto 27.12.2006, 17:48 | ||
Именно. Он также втихую может обновится если ставишь какой-то старый софт который его активно юзает. Причем версию может приволокти свою... А обновление именно втихую и проводит. С ужасом вспоминаю как после установки "Age Of Mythology" ©Microsoft (последняя версия) были подменены несколько dll связаные с XML. После чего Visual Studio .NET отказалась работать с БД, т.к. промежуточные данные хранятся в XML. Ржал очень долго. Проверено на Windows 2003 Server |
| Автор: valentos 27.12.2006, 17:50 | ||||
Ну, блин прочитай последнюю строчку моего прошлого сообщеия, и давай небудем плакать. Короче проехали! Так вот, я посмотрел - флажка у меня нестоит, а вкладку Servers, я вобще еще никогда не использовал. Подключение к БД у меня происходит с помощью 3х компонентов: TAdoconnection, TAdoTable c вкладки ADO, и DataSourse с вкладки DataAcces. Поэтому я думаю что дело не в том что ты изложил. Добавлено @ 17:59 Кстати сюда можно скинуть 2.5mb? А то тут вроде написано что только 100кв можно. Я хочу исходник закинуть - Roodman сказал что поюзает мою прогу. |
| Автор: Rodman 27.12.2006, 20:12 |
Он не обязательно должен стоять |
| Автор: Vas 27.12.2006, 20:30 |
| valentos, только не нервничай. Скажи, пожалуйста, в свойстве компонента ADOConnection.ConnectionString что написано? |
| Автор: valentos 27.12.2006, 20:55 | ||
Никто не нервничает, все нормуль. Если тебя интересует все что там написано тогда вникай: Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=Otgruzka.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False Блин как в сообщение прикрепить архив *.гаг(300кб) с исходниками(не хочет отсылаться) |
| Автор: valentos 27.12.2006, 22:21 |
| Давайте я кому-нибудь, кто может помочь, залью на мыло исходники |
| Автор: SergeBS 28.12.2006, 08:16 |
| valentos, Бросай игры с ConnectionString и делай подключение через udl-файл. Поскольку в этом случае будет возможность ЖЕЛЕЗНО установить связь с твоей БД на любой машине и в любом каталоге. И убедиться, что связь с базой есть. Да, еще, ADOTable - выкинь нафиг. |
| Автор: valentos 28.12.2006, 14:17 |
Какаим макаром это делать? |
| Автор: SergeBS 28.12.2006, 16:19 |
| valentos, Делаешь файл с любым именем и типом udl, например Tratata.udl. Правой кнопкой по нему - свойства. Будет 6-7 закладок с вполне понятными названиями и настройками. Нужны: "Поставщик данных" и "Подключение". На "Подключение" есть кнопка "Проверить подключение". В ADO - выбираешь подключение через файл. |
| Автор: valentos 28.12.2006, 20:05 |
| Жирок, я токого способа незнал! |
| Автор: valentos 29.12.2006, 21:09 |
| Вроде заработала. Спасибо! |