codeiginter php sqlserver

03/03/2015

0

PHP

Fala galera...


Cara... fazer a conexão do php com o sqlserver, está sendo um bicho de 300 cabeças... antes de usar o framework fazia a conexão com ODBC

try {

           $this->bd = new PDO("odbc:Driver={SQL Server};Server=MeuSerivdor; Database=MinhaDataBase; Uid=usuario;Pwd=senha");
                      
        } catch (PDOException $e) {
            print "Error!: " . $e->getMessage() . "<br/>";
            die();
        }


Bom isso funcionou perfeitamente, até que desisti do modelo procedural e quis entrar no ramo do framework e meu primeiro teste logico vou no mysql.. tudo perfeito (até vi que tinha os drivers com as conexões para outros bancos) mas quando fui fazer a conexão com o SQL SERVER ai fudeu!
Claudio Lopes

Claudio Lopes

Responder

Posts

03/03/2015

William

Din eu uso essa classe, com SQL Server 2008 R2 rodando no Windows Server 2008, no PHP tem que estar habilitado a extensão pdo_sqlsrv:

<?php 

define ("DB_USER","usuario");
define ("DB_PASS","senha");
define ("DSN","sqlsrv:server=IP_SERVIDOR;database=NOME_BANCO");

class Conexao {

	private static $pdo;


	public static function getInstance() {
	    if(!self::$pdo) {
	        try{
	            self::$pdo = new PDO(DSN,DB_USER, DB_PASS);
	            self::$pdo->setAttribute(PDO::ATTR_PERSISTENT, true);
	            self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	        } catch (PDOException $ex) {
	            die("Erro na conexão: ".$ex->getMessage()."<br/>");
	        }
	    }
    	return self::$pdo;
    }
}

// Exemplo  de uso
$pdo = Conexao::getInstance();
Responder

03/03/2015

Claudio Lopes

e como eu habilito isso, acabei de baixar o xammp mais atual e não consegui

ativei as extenções no php.ini

extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll

extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll


e as dll estão dentro do ext do php


mas não está habilidado o pdo e nada do sqlsrv no phpinfo
Responder

03/03/2015

Claudio Lopes

galera desde ontem não consigo fazer a conexão... com ODBC fiz a conexão, mas não consigo executar nenhuma consulta nem no $this->db->get() nem na query... não sei onde estou errando.. acho muita coisa, mas picada, tipo começa a sem bem detalhado e no final foi perdendo conteudo, bom meu objetivo é o mysql, porém não posso me privar de usar o sqlserver já que o obetivo do sistema é ser comercial, cross banco também. alguem tem uma dica ae
Responder

03/03/2015

Claudio Lopes

só para completar, usando odbc estou com o erro

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\tabular\application\models\banco.php on line 19


segue o que está no controller

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

public function index()
{
//$this->load->view('welcome_message');
$this->load->database();
$this->load->model('banco','dados');

print_r($this->dados->teste());

}
}


no model
class banco extends CI_Model {
    
    
    function teste(){
        
       return $this->db->query("select * from [TABULAR].[dbo].[TAGENDA]");
        
    }
    
    
}


lembrando que estou testando a conectividade...
Responder

03/03/2015

Claudio Lopes

o erro da linha 19, é exatamente na funcao
Responder

05/03/2015

Claudio Lopes

Bom galera, estou usando o ODBC, faço a conexão, porém ao chamar o metodo get() ou query() dá o seguinte erro:
Fatal error: Call to a member function query() on a non-object in
Responder

09/03/2015

Claudio Lopes

rsss.... é tão panck que é difícil achar pessoas para ajudar...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar