Я пытаюсь открыть базу данных MS Access с веб-страницы. Я не пытаюсь подключиться к базе данных, просто чтобы она работала. Когда я запускаю приведенный ниже код, я вижу, что MS Access открыт, но база данных ничего не выводит
Я не знаю достаточно о php, чтобы знать, возможно ли это или нет.
Это тестовая интрасеть, в которой для accdb установлены полные права доступа IIS_IUSRS. Цель базы данных - распечатать формы на принтере, свисающем с сервера, чтобы избежать ошибок персонала.
Существует макрос autoexec, который выполняет модуль VBA в базе данных. Он считывает значение из текстового файла, поэтому accdb знает, сколько копий нужно распечатать.
Я не получаю никакой обратной связи от кода и не нахожу ничего в средстве просмотра событий Windows.
Можно ли открыть базу данных на сервере? Я могу запустить его на сервере, запустив accdb, но exec (accdb), shell_exec не работают.
Примечание: домен, на который они собираются, указан в localhost на сервере и на компьютерах, которые пытаются с ним работать. Домены не являются реальными доменами в Интернете.
Спасибо!
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<br><br><center>
<h3>Enter the number of copies you would like to print :</h3>
<form action="printit.php" method="POST">
<input name="field1" type="text" /><br><br>
<input type="submit" name="submit" value="Print">
</form>
</center>
<?php
if(isset($_POST['field1'])) {
$data = $_POST['field1'];
$ret = file_put_contents('d:\\OneDrive\\Intranet\\www.foo-intranet.com\\db\\NumberofCopies.txt', $data, LOCK_EX);
if($ret === false) {
die('There was an error here.');
}
else {
echo "$ret bytes written to file";
}
}
$backtome = exec('"C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\MSAccess.exe" D:\\OneDrive\\Intranet\\www.foo-intranet.com\\db\\Reports_printer2.accdb');
if(isnull($backtome)) {
echo 'There was a null in exec command.';
}
else{
echo '$backtome received from exec';
}
?>
<br>
<br>
</body>
</html>
При ручном запуске accdb он отлично печатается на принтере