|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Здрасьти :) Господа, такой вопрос: а как достучаться до файла accdb из VBS? Система win7 64bit. Оффис 10. Что-то оно у меня провайдеров не видит... Ни вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Ни вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
В первом случае: Код: plaintext 1. 2.
Во втором случае: Код: plaintext 1.
В какую сторону копать? Спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 12:11 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev, провайдер не тот нужно не - Provider=Microsoft.Jet.OLEDB.4.0; а Provider=Microsoft.ACE.OLEDB.12.0; зы но это только начало :)) щас окажется что такого поставщика нет ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 12:28 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112но это только начало :)) щас окажется что такого поставщика нет ... Чорт! :[*] Ты знал! Код: vbnet 1. 2. 3.
Код: plaintext 1.
Чего делать-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 13:27 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor MitichevЧорт! :[*] Ты знал! ага тут, один товарищ, намедне, просто "пожрал мозге" делфистам с этим вопросом значит, само майкрософто, предлагает, в случае 10-го Оффиса, установить такую весщч - Microsoft Access Database Engine 2010 Redistributable там же и описанна причина, почему это нужно делать ... НО, по факту, оказуется, что эту фигню нужно ставить ВМЕСТО А2010 (т.е - или то, или то) (вообщем, там какой-то маразм конкретный, и я не уверен что понял до конца) ну, а пока спасает наличие в свободном доступе драйвера "от А2007" ставь это Download the Microsoft Office 12.0 Access Database Engine OLE DB Provider ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 13:45 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112, Я правильно понял, что самое просто будет - сделать в БД формочку, нарисовать на ней кнопочку, и на ту кнопку привесить логику скрипта, а от VBS в данном случае и вовсе отказаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 14:01 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichevqwerty112, Я правильно понял, что самое просто будет - сделать в БД формочку, нарисовать на ней кнопочку, и на ту кнопку привесить логику скрипта, а от VBS в данном случае и вовсе отказаться? нуу, как бы - да, тогда можно ничего не скачивать и не устанавливать ... но я ж не знаю зачем вам этот скрипт ? если это планировалось сделал какое-то задание в шедулере (через вбс-скрипт), то тогда, всё-таки стоит "заморичится" и скачать драйвер / сделать через вбс (используя БД Акцесса, а НЕ приложение Акцесса), чем делать задание с использование Акцесса как приложения имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 14:13 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112, Да скачал я провайдера от 2007, пишет что установилось. Но скрипт как не работал, так и не работает. Перезагрузиться надо попробовать... P.S: Ни фига я в этом 2010 найти не могу. А можно эту базу сконвертировать в формат 2003? Где там нужная для этого кнопка находится? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 14:18 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev, Ребутнулся. Ничего не поменялось. Дело ясное, что дело темное... Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 14:28 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev, А через DSN не пробовали? В смысле создаёте DSN для подключения к БД в MS Access и как я понимаю, Вы хотите достучаться к этой базе, НЕ находясь в MS Access. А значит возможно прокатит. Не уверен конечно, но а вдруг ... ! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 15:32 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
studieren, Вообще, с каждой версией оффиса продукт становится все веселее и веселее :)) Таки можно как-то базу пересохранить в формате access 2003? И еще. Тут библиотек каких-то не хватает, или сам метод доступа к даннымм изменился? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 16:06 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev, Ну так подключите ADO в референсах. Например вот этот: Microsoft ActiveX Data Objects 2.5 Library P.S. Здесь офис 2010 или 2007 не причём, в обычных mdb файлах А2003 также по умолчанию ADO не подключен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 16:11 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
У меня Офис2003. Скачал http://www.microsoft.com/en-us/download/details.aspx?id=23734 из ответа йцукен. Теперь могу смотреть данные из A2010 vbs Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 17:49 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
studierenНу так подключите ADO в референсах. Ну да. вроде заработало, библиотека эта была не подключена... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 22:52 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
?????У меня Офис2003. Скачал http://www.microsoft.com/en-us/download/details.aspx?id=23734 из ответа йцукен. Теперь могу смотреть данные из A2010 :) А вот об этом варианте я как-то не подумал. Вот тут за подсказку действительно спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 22:53 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor MitichevstudierenНу так подключите ADO в референсах. Ну да. вроде заработало, библиотека эта была не подключена... а в скрипте заработало ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 22:54 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev?????У меня Офис2003. Скачал http://www.microsoft.com/en-us/download/details.aspx?id=23734 из ответа йцукен. Теперь могу смотреть данные из A2010 :) А вот об этом варианте я как-то не подумал. Вот тут за подсказку действительно спасибо :) о каком, нах, варианте ?? ты жж так и делал до этого, в вбс-скрипте !! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 22:56 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112, Нет, в скрипте все по прежнему. На сколько я понимаю, то, что я в референсах редактора VBA поставил галочку напротив "Microsoft ActiveX Data Objects 6.1 Library", повлияло только на данный конкретный проект. А сценарий выполняется в среде WSH и там ничего не изменилось... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 23:04 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112о каком, нах, варианте ?? ты жж так и делал до этого, в вбс-скрипте !! То, что в win 7 64bit c office 10 каши не сваришь - я понял. Потому и спрашивал, как сконвертировать базу в формат office 2003. Чтобы обработка данных проходила в нормальных приличных условиях: winXP + Office 2003. Судя по тому, что мне никто не ответил, задача нетривиальна. А так - получается что я могу на машине с ХП юзать эту базу и без всякого конвертирования... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 23:09 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor Mitichev, какая ОС, и её битность ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 23:13 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Igor MitichevТо, что в win 7 64bit ... угу, не посмотрел http://social.msdn.microsoft.com/Forums/ru-RU/fordataru/thread/a22ff616-62b8-42f6-870d-9777692e39e4 Попытаться запускать через явно указанную версию cscript.exe(system32 или syswow64). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2012, 23:14 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
qwerty112, Опа! А ошибку-то как раз 32-битная версия выдает... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2012, 08:25 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
В общем, все заработало, скрипт написан и отлажен, все путем :)) Всем спасибо за помощь. Для доступа к базе нужно использовать cscript из 64-битной папки. На всякий случай привожу код (строки, относящиеся к обсуждаемому вопросу), чтобы людям потом не изобретать велосипед: авторC:\TEMP\234>C:\Windows\SysWOW64\cscript.exe test3.vbs Сервер сценариев Windows (Microsoft R) версия 5.8 c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены. Код Фамилия Имя Отчество Комната Отдел Компьютер C:\TEMP\234>type test3.vbs app_path = "C:\TEMP\USERS.accdb" Set Conn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & app_path Conn.Open SQLString = "select * from Users" rs.Open SQLString, Conn, 1, 4 For i = 0 To rs.Fields.count - 1 wscript.echo rs.Fields(i).name Next rs.Close Set rs = Nothing Conn.Close Set Conn = Nothing C:\TEMP\234> P.S: Кстати, перемещение пути к папке SysWOW64 перед папкой System32 в переменной PATH результата не дало. Cscript все равно надо запускать именно посредством указания полного пути к файлу почему-то... Но это уже мелочи. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2012, 11:37 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Предлагаю простой костыль избавляющий от "Не удается найти указанный поставщик. Вероятно, он установлен неправильно." и "Невозможно создание объекта контейнером ActiveX". Он при запуске скрипта проверяет соответствие сервера сценариев архитектуре ОС, и при необходимости перезапускает скрипт с нужным сервером. Единственный недостаток - костыль при перезапуске не передаст в скрипт параметры (например, из ярлыка или dragndrop). Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2012, 23:38 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Тот же костыль, но с устраненным недостатком. Вызывать Sub CheckOSx86x64Args() в начале скрипта. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 18:41 |
|
Доступ к базе из VBS
|
|||
---|---|---|---|
#18+
Убрал все лишнее. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2014, 18:32 |
|
|
start [/forum/topic.php?fid=45&msg=37966557&tid=1609544]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 312ms |
0 / 0 |