PHP - PDOException: SQLSTATE[08001] PHP

 
Vista:
sin imagen de perfil

PDOException: SQLSTATE[08001] PHP

Publicado por Mauricio (3 intervenciones) el 16/12/2022 08:31:40
Que tal amigos acabo de cambiar mi sql server de 2012 a sql server 2019 y tengo un problema con las consultas que realizo ya agregue las exepciones en el php.ini de slqserv
pero me arroja el siguiente error; Cabe mencionar que tengo la version de PHP 7.0.18

No se ha podido realizar la conexión con la base de datos PDOException: SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]SSL Provider: Se ha forzado la interrupción de una conexión existente por el host remoto. in C:\xammp\Apache\htdocs\mega\app\class\class.DataBaseSQLServer.php:30

linea 30



class DataBaseSQLServer
{
private $bd_servidor;
private $bd_usuario;
private $bd_password;
private $bd_nombre;
protected $bd_conexion;
protected $tipo_conexion;

function __construct() {
$tipo_conexion = 'remoto';

$conexion['remoto'] = array ('bd_host' => '192.168.1.228\AWSERV', 'bd_nombre'=>'MEGADATA','bd_usuario'=>'root', 'bd_password'=>'root' );

$this->bd_servidor = $conexion[$tipo_conexion]['bd_host'];
$this->bd_nombre = $conexion[$tipo_conexion]['bd_nombre'];
$this->bd_usuario = $conexion[$tipo_conexion]['bd_usuario'];
$this->bd_password = $conexion[$tipo_conexion]['bd_password'];

}

public function conectarBD(){
try {

$this->bd_conexion = new PDO("sqlsrv:Server=$this->bd_servidor; Database=$this->bd_nombre; ConnectionPooling=0;", $this->bd_usuario, $this->bd_password); // ESTA ES LA LINEA 30
$this->bd_conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $this->bd_conexion;
} catch (PDOException $exc) {
echo 'No se ha podido realizar la conexión con la base de datos '.$exc;
}
}
public function desconectarBD(){
$this->bd_conexion = '';
unset($this->bd_conexion);
}

public function getBD_Conexion(){
return $this->bd_conexion;
}

protected function ejecutarConsulta($consulta_sql, $array_datos, $con_parametros, $tipo_consulta)
{

$query = $this->conectarBD()->prepare($consulta_sql); //Prepara la consulta
if($con_parametros == 'n' || $con_parametros == 'N'){
$query->execute(); //Ejecuta la consulta
}
else{
$query->execute($array_datos);
}

if($tipo_consulta == 'n') {
$resultado = $query->fetchAll();
$this->desconectarBD();
}
elseif($tipo_consulta =='a'){
$resultado = $query->fetch(PDO::FETCH_ASSOC);
$this->desconectarBD();
}
elseif($tipo_consulta =='at'){
// se agrego el try
try {
$resultado = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $err) {
echo 'No se ha podido realizar la asociación ';
}
$this->desconectarBD();
}

return $resultado;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PDOException: SQLSTATE[08001] PHP

Publicado por Kathyu (905 intervenciones) el 16/12/2022 13:56:00
Eso no creo que sea error de código. Ya descargó todas las dll y archivos para actualizarlas? Ya vio que esas dll's sean compatibles con su versión de PHP y todo eso?

PD: Siempre usa el tag de código para poner código y no como texto plano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PDOException: SQLSTATE[08001] PHP

Publicado por Mauricio (3 intervenciones) el 20/12/2022 00:06:15
ya ya las descargue todas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PDOException: SQLSTATE[08001] PHP

Publicado por Yamil Bracho (22 intervenciones) el 20/12/2022 01:55:53
Basicamente 08001 tiene que ver con problemas de configuracion en la autenticacion de SQL Server. Asi que
cambia el modo de uatenticacion a SQL Server y Windows, Esto lo haces en la consola de administracion de SQL Server
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar