Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Roccon

Conexão com o Banco de Dados

Recommended Posts

Galera, primeiramente bom dia. Obrigado por se interessarem no meu tópico.

Bom meu problema ao meu ver parece simples. Eu tenho um servidor no IP: 192.168.0.1, rodando Windows Server 2013 e banco de dados SQL Express.

 

Tenho uma aplicação em PHP que está hospedada via EasyPHP na pasta localweb padrão do EasyPHP.

 

No meu PHP eu preciso me conectar ao banco de dados, mas não estou conseguindo achar o HOST. Qual o host eu devo colocar? Tentei estes dois: SERV\SQLEXPRESS e 192.168.0.1, porém no primeiro o PDO me retornou a seguinte mensagem:

exception 'PDOException' with message 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Este host não é conhecido. ' in G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php:23 Stack trace: #0 G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php(23): PDO->__construct('mysql:host=SERV...', 'sa', 'Adminsulp8') #1 G:\EasyPHP DevServer\data\localweb\Etiquetas\index.php(6): Database->__construct('SERVSULP\SQLEXP...', 'sa', 'Adminsulp8', 'TSTWEB', true) #2 {main}

No segundo ele me retornou:

exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Nenhuma conexão pôde ser feita porque a máquina de destino as recusou ativamente. ' in G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php:23 Stack trace: #0 G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php(23): PDO->__construct('mysql:host=192....', 'sa', 'Adminsulp8') #1 G:\EasyPHP DevServer\data\localweb\Etiquetas\index.php(6): Database->__construct('192.168.0.1', 'sa', 'Adminsulp8', 'TSTWEB', true) #2 {main}

 

Alguém tem idéia de como eu posso me conectar?

 

Obrigado,

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara se o ip do servidor é esse então tem que usar ele mesmo, do mais veja se usuario e senha estão corretos.

 

E se o servidor web for diferente do servidor banco de dados veja também se o banco de dados aceita conexão de aplicação externa ao servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mostre a sua conexão com o SGBD. Pelo que percebi, está utilizando uma classe Database. Mostre-nos alguns códigos.

 

Esses error de conexão recusadas as vezes são podem ser considerados meramente "genéricos", pois podem prover de N razões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

PDO->__construct('mysql:host=SERV...',

 

o driver é mysql ou sql server? pelo menos na mensgem de erro mostra mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, isso eu já resolve. Era problema de dependência de uma extensão do PHP, porém agora estou com outro problema, recebo a seguinte mensagem:

exception 'PDOException' with message 'SQLSTATE[IMSSP]: This extension requires the Microsoft SQL Server 2012 Native Client ODBC Driver to communicate with SQL Server. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712' in G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php:23 Stack trace: #0 G:\EasyPHP DevServer\data\localweb\Etiquetas\acts\classes\class.Database.php(23): PDO->__construct('sqlsrv:Server=S...', 'sa', 'Adminsulp8') #1 G:\EasyPHP DevServer\data\localweb\Etiquetas\index.php(6): Database->__construct() #2 {main}

Eu já fui no site e baixei o driver. Instalei também no servidor o arquivo solicitado, porém o erro ainda é retornado o mesmo. Alguém já passou por isso? Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não to bem lembrado, mais nem todas as extensões veem com o php, se vc não marcar uma opção.

 

tem uma opção no php quando estamos instalando que ele traz todas as extensões.

tinha esse mesmo problema com o PostgreSQL, tive que instalar novamente o php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente, você terá que instalar o MsSQL Native Cliente no servidor, quando for mudar, terá que instalar novamente. É um tanto complicado de acertar

 

Sugiro dar uma lida no post abaixo, antigo mas ainda válido, e mude de SQLSRV para ODBC. Se você está usando o EasyPHP, o suporte é nativo, basta ativar ODBC. Já em linux, terá que instalar a unixODBC, é que pode gerar um pouco de dor de cabeça e o suporte não é 100%.

 

http://forum.imasters.com.br/topic/476963-erro-ao-conectar-sql-server-2008/?p=1896102

 

No tópico eu falo sobre a lentidão da ODBC. Era mais questão do servidor utilizado. É um pouco mais lento sim, mas chega a ser irrelevante. Atende as necessidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não to bem lembrado, mais nem todas as extensões veem com o php, se vc não marcar uma opção.

 

tem uma opção no php quando estamos instalando que ele traz todas as extensões.

tinha esse mesmo problema com o PostgreSQL, tive que instalar novamente o php

 

Erison, vou tentar com o XAMPP agora, vamos ver no que dá. Estava utilizando o Easy PHP

 

Galera, acho que estou quase. Refiz a conexão com ODBC, a conexão foi efetuada com sucesso, porém minha consulta retorna o seguinte erro:

Warning: odbc_exec(): SQL error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Executando o SQL diretamente; sem cursor., SQL state 01000 in SQLExecDirect in G:\EasyPHP DevServer\data\localweb\Etiquetas\index.php on line 10

Eis meu código:

	$conn = odbc_connect('ERPSulp2', 'sa', 'Adminsulp8') or die ('Erro');
	$sql = "SELECT * FROM PDV_PEDIDO LIMIT 10";
	odbc_exec($conn , $sql) or die ('Erro');

 

Alguém tem ideia de qual erro é esse?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.