Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2018, 15:26   #1
codeamateur
Новичок
Джуниор
 
Регистрация: 16.07.2018
Сообщений: 8
По умолчанию Эксель - Адд - Ину нужно соединиться с базой данных

Привет всем! Я программирую Эксель - Адд- Ин в Майкрософт Визуал Студио 2015. Это проект по типу "App for Office" и сам состоит из двух проектов 1.MissingPartEvaluation и 2.MissingPartEvaluationWeb. В первом проекте есть только манифест-файл, который содержит ссылку на IIS (Internet Information Services) - сервер. Всё остальное находится во втором проекте. Содержание второго проекте копируется на IIS - сервер.

Для того, чтобы стартовать этот Эксель-Адд-Ин, я нажимаю на старт в Визуал Студио и после этого автоматически стартуется Эксель с браузером на правой стороне, в котром видна MissingPartSummary.html. Этот файл находиться во втором проекте.

Теперь этому Эксель-Адд-Ину нужно соединиться с базой данных. Для этой цели я хотел создать ActiveXObject.

Код:
var connection = new ActiveXObject("ADODB.Connection");
K сожалению, я тогда получаю ошибку
Error: Error: Automation server can't create object

Другой подход - это применение XMLHttpRequest.

Код:
var url = "https://wosevvt227/ajaxReq/php/getData.php";
var xhr = new XMLHttpRequest();
        
xhr.open('GET', url, true);
xhr.responseType = 'json';
//xhr.setRequestHeader("Authorization", "Basic ***********==");
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
xhr.withCredentials = true;
xhr.onload = function () {
            var status = xhr.status;
            console.log("Status: " + status);
            if (status === 200) {
                console.log("All ok");
            } else {
                console.log("Houston, we have a problem");
            }
 
            var response = xhr.responseText;
            console.log("Response: " + response);
};
xhr.send();
Тогда я получаю следующию ошибку.

SCRIPT7002: XMLHttpRequest: Network error 0x80070005, Access denied
MissingPartSummary.html


У вас есть идеи, как можно решить эту проблему?
codeamateur вне форума Ответить с цитированием
Старый 17.07.2018, 19:58   #2
codeamateur
Новичок
Джуниор
 
Регистрация: 16.07.2018
Сообщений: 8
По умолчанию

Теперь я по применению XMLHttpRequest продвинулся дальше. Решение заключалось в том, что xhr.setRequestHeader("Access-Control-Allow-Origin", "*"); было перенесено на сторону сервера. Для этой цели я написал новый скрипт getDataAllowOrigin.php и поставил там

Код:
header('Access-Control-Allow-Origin: https://evdata-t');
Кроме этого поправил Javascript Код.

Код:
var url = "https://wosevvt227/ajaxReq/php/getDataAllowOrigin.php";
var xhr = new XMLHttpRequest();
        
xhr.open('GET', url, true);
xhr.responseType = 'json';
xhr.withCredentials = true;
xhr.onload = function () {
            var status = xhr.status;
            console.log("Status: " + status);
            if (status === 200) {
                console.log("All ok");
            } else {
                console.log("Houston, we have a problem");
            }
 
            var response = xhr.responseText;
            console.log("Response: " + response);
        };
xhr.send();
Теперь Access Denied ошибки больше нет. Вот так выглядит Javascript-Konsole.

Status: 200
All ok
Response: <br />
<b>Warning</b>: sqlsrv_query() expects parameter 1 to be resource, null given in <b>C:\inetpub\wwwroot\bb\ajaxReq\ph p\getDataAllowO rigin.php</b> on line <b>17</b><br />
<br />
<b>Warning</b>: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in <b>C:\inetpub\wwwroot\bb\ajaxReq\ph p\getDataAllowO rigin.php</b> on line <b>21</b><br />
<br />
<b>Warning</b>: sqlsrv_free_stmt() expects parameter 1 to be resource, boolean given in <b>C:\inetpub\wwwroot\bb\ajaxReq\ph p\getDataAllowO rigin.php</b> on line <b>30</b><br />
<br />
<b>Warning</b>: sqlsrv_close() expects parameter 1 to be resource, null given in <b>C:\inetpub\wwwroot\bb\ajaxReq\ph p\getDataAllowO rigin.php</b> on line <b>31</b><br />
[]
codeamateur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как безопасно соединиться с базой данных? Макарий PHP 5 04.12.2012 22:31
Сайт с базой mysql,как соединиться? Кинельски БД в Delphi 9 15.08.2010 00:48
Нужно запрограммировать CMS для сайта с платной базой данных. Kotopes-Megatron Фриланс 3 08.05.2010 10:27
delphi+sql server 2005 как соединиться с базой? betirsolt БД в Delphi 5 04.05.2010 19:47