Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Automation server can't create object (https://javascript.ru/forum/server/74511-automation-server-can%27t-create-object.html)

codeamateur 17.07.2018 17:24

Automation server can't create object
 
Всем привет! Я создал в Майкрософт Визуал Студио App for Office MissingPartEvaluation проект. Этот проект состоит из двух проектов 1. MissingPartEvaluation и 2.MissingPartEvaluationWeb.

Содержание второго проекта я копирую на IIS-Сервер. В первом проекте есть манифест-файл, в котором я поставил

Код:

<SourceLocation DefaultValue .../>
таким образом, чтобы во время исполнения программа посылала запрос на IIS-Сервер.

Во втором проекте MissingPartEvaluationWeb мне нужен доступ к базой данных, которая в свою очередь находится на другом сервере. Для этой цели я хочу создать ActiveXObject с помощью

var connection = new ActiveXObject("ADODB.Connection");



К сожалению, во время исполнения программы это ведёт к следующей ошибке.

Error: Error: Automation server can't create object

У кого есть идеи, как можно решить эты проблему?

laimas 17.07.2018 18:03

Цитата:

Сообщение от codeamateur
new ActiveXObject("ADODB.Connection")

Это не относится к БД на удаленном сервере.

codeamateur 17.07.2018 18:15

Спасибо за ответ, laimas.

Хорошо, если не относится к БД (= База данных), тогда как мне можно установить связь с базой данных по другому?

laimas 17.07.2018 18:24

new ActiveXObject("ADODB.Connection") - это объект создаваемый на клиенте, а вы ссылаетесь на базу, которая на каком-то ином сервере. В другой теме вы вообще пишите об MySQL, так вообще причем тут ADODB?

codeamateur 17.07.2018 18:41

Я написал ADODB.Connection, потому что об этом прочитал в форуме https://stackoverflow.com/questions/...in-the-browser. Там рекомендовалось использовать new АctiveXObject(ADODB.Connection). A как ещё можно в Javascript создать соединение с базой данных?

laimas 17.07.2018 18:54

Цитата:

Сообщение от codeamateur
A как ещё можно в Javascript создать соединение с базой данных?

В рамках веб страницы и клиентского js-сценария никак. Более того, выполнить ActiveX можно только из под IE и только если это разрешено настройками браузера. В других браузерах этого сделать нельзя. Вне браузера пожалуйста - в VBS, CHM и т.п.

Но коли у вас база это MySQL на удаленном сервере, то подключение к ней и запросы делает серверный скрипт, а JS может только инициализировать запрос к серверу и получить результат запроса к БД серверного скрипта.

PS. У вас точно удаленный сервер или же вы делаете локальный проект и ради базы подняли IIS с РНР, и все выполняется на локальном компьютере?

codeamateur 20.07.2018 19:28

На локальном компьютере только манифест файл, и всё. Есть отдалённый сервер wosevvt227, это IIS - Server. На нём находятся MissingPartEvaluationWeb и getDataPhpAllowOrigin.php. Кроме этого есть ещё отдалённый SQL сервер VVT415.

На локальном компьютере установлен Визуал Студио. Когда я стартую проект, открывается Майкрософт Эксель и с правой стороны виден Браузер с html-сайтом из MissingPartEvaluationWeb. Если я там нажимаю на кнопку, устанавливается связь с SQL сервером. Т.е. вы правы, вся программа исполняется на клиенте, т.е. на локальном компьютере. Но серверы не виртуальные, они существуют на самом деле.

Но это всё не важно, так как я уже решил мою проблему с помощью XMLHttpRequest.


Часовой пояс GMT +3, время: 15:38.