Я подключаю PHP к Pervasive SQL, и соединение продолжает сбрасываться
Это соединение находится в Windows Server 2012 с использованием PHP7 в Apache 2.4. Я уже создал DNS-соединение, и тест может успешно подключиться к базе данных.
<?php
$conn=odbc_connect("brps","","");
if (!$conn) die("Could not connect");
?>
PSQL версии 11
Возможно, вы захотите отредактировать свой вопрос, чтобы указать точную ошибку, а также версию Pervasive.
это не дает ошибок. Страница не загружается. Мое приложение подключается как к MySQL, так и к Pervasive. Когда я комментирую повсеместное соединение, страница загружается нормально. Но когда я добавляю повсеместное соединение, страница сбрасывается, время ожидания истекает или не загружается без ошибок.
Если он не подключается, он должен выдать ошибку. Что дает ваша страница, так это то, что у вас есть только это: <?php $conn=odbc_connect("brps","",""); ?>
страница пытается загрузиться, и при возврате страница не может быть найдена или сайт недоступен. Я чувствовал, что что-то вроде брандмауэра блокирует это. Я разрешил доступ к брандмауэру, но все же






Следующий код работает для меня в среде x64 с использованием PHP 7.31 с расширением ODBC, включенным в PHP.INI. Я также использую клиент v11.30 x64, подключающийся к удаленному серверу PSQL v11.
<?php
$conn=odbc_connect("brpp","","");
if (!$conn) die("Could not connect");
$result = odbc_tables($conn);
echo '<div id = "top">..</div><table border = "1" cellpadding = "5"><tr>';
$tblRow = 1;
while (odbc_fetch_row($result)){
if (odbc_result($result,"TABLE_TYPE")= = "TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<tr><td>' . $tblRow . '</td><td><a href = "#' . $tableName . '">' . $tableName . '</a></td></tr>';
$tblRow++;
}
}
echo '</table><hr>';
$result = odbc_tables($conn);
while (odbc_fetch_row($result)){
if (odbc_result($result,"TABLE_TYPE")= = "TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<div id = "' . $tableName . '"> *** ' . $tableName . ' *** <a href = "#top">top</a></div>';
$cols = odbc_exec($conn, "SELECT * FROM $tableName WHERE 1=2");
$ncols = odbc_num_fields($cols);
for ($n=1; $n<=$ncols; $n++) {
$field_name = odbc_field_name($cols, $n);
echo $field_name . "<br>";
}
echo '<hr>';
}
}
?>
Если DSN не существует, я получаю сообщение об ошибке:
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\Wnmp\html\phpodbc.php on line 2
Could not connect
После установки клиента PSQL x64 я получал системную ошибку 998. Эту ошибку исправила перезагрузка машины.
благодаря. после перезапуска сервера все работает нормально
Какую версию Pervasive вы используете? Какая именно ошибка?