codeiginter php sqlserver
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
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!
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
Curtidas 0
Respostas
William
03/03/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:
<?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();
GOSTEI 0
Claudio Lopes
03/03/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
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
GOSTEI 0
Claudio Lopes
03/03/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
GOSTEI 0
Claudio Lopes
03/03/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
no model
lembrando que estou testando a conectividade...
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());
}
}
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...
GOSTEI 0
Claudio Lopes
03/03/2015
o erro da linha 19, é exatamente na funcao
GOSTEI 0
Claudio Lopes
03/03/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:
Fatal error: Call to a member function query() on a non-object in
GOSTEI 0
Claudio Lopes
03/03/2015
rsss.... é tão panck que é difícil achar pessoas para ajudar...
GOSTEI 0