Array
(
)

codeiginter php sqlserver

PHP
Din
|
MVP
Pontos: 45
    03 mar 2015

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
#Código

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!

William (devwilliam)
   - 03 mar 2015

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:

#Código

<?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();

Din
|
MVP
Pontos: 45
    03 mar 2015

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

Din
|
MVP
Pontos: 45
    03 mar 2015

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

Din
|
MVP
Pontos: 45
    03 mar 2015

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

Citação:
<?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
#Código

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


lembrando que estou testando a conectividade...

Din
|
MVP
Pontos: 45
    03 mar 2015

o erro da linha 19, é exatamente na funcao

Din
|
MVP
Pontos: 45
    05 mar 2015

Bom galera, estou usando o ODBC, faço a conexão, porém ao chamar o metodo get() ou query() dá o seguinte erro:

Citação:
Fatal error: Call to a member function query() on a non-object in

Din
|
MVP
Pontos: 45
    09 mar 2015

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