Ir para o conteúdo

 Voltar a Fórum do For...
Tela cheia

Conexao access

26 de Julho de 2013, 13:36 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 40 vezes
Tem como conectar no access?

Autor: Paulo Delphino


77 comentários

  • 51b06d6eae66e2cfdfc361d418eea715?only path=false&size=50&d=404Luis Eugênio barbosa(usuário não autenticado)
    26 de Julho de 2013, 19:40

     

    Paulo, 
    As classes de conexão do FormDin não tem esta opção, mas é simples de altera-la para suportar o access caso o driver PDO_ODBC funcione bem.
    Meu conselho é testar primeiro a conexão com PDO_ODBC sem utilizar a classe do FormDin mesmo.

    Ativei o driver PDO_ODBC no meu php.ini ( extension=php_pdo_odbc.dll ), veja no phpinfo() se o driver foi realmente carregado depois de reinicar o apache, criei um banco de dados chamado db1.mdb e consegui fazer um select na tabela UF sem problemas.

    Veja como ficou meu código:

     try {

        //http://www.connectionstrings.com/microsoft-access-accdb-odbc-driver/
        $arquivoAccess = realpath( __DIR__).'\access\bd1.mdb';
        $dbh = new PDO('odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq='.$arquivoAccess.';Uid=;Pwd=');

        /*** echo a message saying we have connected ***/
        echo 'Connected to database<br />';

        /*** The SQL SELECT statement ***/
        $sql = "SELECT * FROM uf";

        /*** fetch into an PDOStatement object ***/
        $stmt = $dbh->query($sql);

        /*** echo number of columns ***/
        $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

        /*** loop over the object directly ***/
        echo '<pre>';
        foreach($result as $key=>$val)
        {
            echo $key.' - '.print_r($val,true).'<br />';
        }
        echo '</pre>';

        /*** close the database connection ***/
        $dbh = null;
    }
    catch(PDOException $e)
        {
        echo $e->getMessage();
        }

     

    Abraço.

  • Ae815677646a23f66119953390bae133?only path=false&size=50&d=404Paulo Delphino(usuário não autenticado)
    29 de Julho de 2013, 13:26

     

    Eu consegui conectar tambem, as classe para eu implementar seria a tpdoconnection? pode me dar uma ajuda?

  • Ae815677646a23f66119953390bae133?only path=false&size=50&d=404Paulo Delphino(usuário não autenticado)
    29 de Julho de 2013, 17:44

     

    fiz assim e conectou, pode melhorar? Mudei la no tpdoconection e usei o dao/vo

                    case 'ACCESS':
                        if ( !defined( 'DATABASE' ) )
                        {
                            $configErrors[] = 'Falta informar o DATABASE';
                        }
                        $driver = 'odbc:Driver={Microsoft Access Driver (*.mdb)}';
                        self::$dns = $driver.';Dbq='.DATABASE.';Uid=Admin;Pwd=senha';
                        break;
     coloquei na conexao

    define('BANCO','ACCESS');
    define('DATABASE','c:\diretorio\arquivo.mdb');
    define('HOST', ' ')

  • Ae815677646a23f66119953390bae133?only path=false&size=50&d=404Paulo Delphino(usuário não autenticado)
    30 de Julho de 2013, 15:16

     

    Ta funcionando so acho que poderia ver alguma coisa em relacao a senha, pra colocar tambem no define

    define('SENHA', 'xxxxx')

    nao to descobrindo onde colocar

  • Ae815677646a23f66119953390bae133?only path=false&size=50&d=404Paulo Delphino(usuário não autenticado)
    30 de Julho de 2013, 15:46

     

    Dei bobeira com a senha era tao facil que eu nao vi rsrsrsrs

    ve se é assim:

                    case 'ACCESS':
                        if ( !defined( 'DATABASE' ) )
                        {
                            $configErrors[] = 'Falta informar o DATABASE';
                        }

                        // Dica de Reinaldo A. Barrêto Junior para utilizar o sql server no linux
                        $driver = 'odbc:Driver={Microsoft Access Driver (*.mdb)}';
                        //'odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq='.$arquivoAccess.';Uid=Admin;Pwd=pedo39'
                        self::$dns = $driver.';Dbq='.DATABASE.';Uid=Admin;Pwd='.SENHA;
                        break;

    Conexao:

    define('BANCO','ACCESS');
    define('DATABASE','c:\arquivo.mdb');
    define('HOST', ' ');
    define('SENHA','senha');

Essa comunidade não possui posts nesse blog