Просмотр полной версии : Automation server can't create object
codeamateur
17.07.2018, 17:24
Всем привет! Я создал в Майкрософт Визуал Студио 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
У кого есть идеи, как можно решить эты проблему?
new ActiveXObject("ADODB.Connection")
Это не относится к БД на удаленном сервере.
codeamateur
17.07.2018, 18:15
Спасибо за ответ, laimas.
Хорошо, если не относится к БД (= База данных), тогда как мне можно установить связь с базой данных по другому?
new ActiveXObject("ADODB.Connection") - это объект создаваемый на клиенте, а вы ссылаетесь на базу, которая на каком-то ином сервере. В другой теме вы вообще пишите об MySQL, так вообще причем тут ADODB?
codeamateur
17.07.2018, 18:41
Я написал ADODB.Connection, потому что об этом прочитал в форуме https://stackoverflow.com/questions/857670/how-to-connect-to-sql-server-database-from-javascript-in-the-browser. Там рекомендовалось использовать new АctiveXObject(ADODB.Connection). A как ещё можно в Javascript создать соединение с базой данных?
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.
vBulletin® v3.6.7, Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot