Conecte o PHP ao ODBC do Microsoft Access

1

Um de nossos funcionários criou um Banco de Dados do Microsoft Access e criou um Joomla! módulo em torno dele. Ele está sendo executado atualmente em um servidor WAMP, com uma conexão ODBC para o arquivo adb. Como posso criar uma conexão ODBC no Ubuntu para o banco de dados do Access? Neste momento, estou aberto para ter o DB ao vivo localmente no meu servidor Ubuntu, ou em um compartilhamento SMB em algum lugar. Movê-lo do Access para o MySql já foi proposto. Pode chegar a isso, mas estou realmente sendo pressionado a encontrar outra opção. Alguém sabe se isso é possível e como realizá-lo?

    
por Danimal 16.11.2012 / 16:36

3 respostas

1

Suas opções para substituir o mecanismo de banco de dados JET que está sendo executado apenas no Linux são escassas, na melhor das hipóteses. Lembre-se de que os arquivos de acesso são apenas arquivos simples e é um software fornecido pela Microsoft que analisa e executa os comandos SQL. A Microsoft, sem surpresas, não fornece uma porta Linux.

Mysql e PHP são um jogo feito no céu, então você pode considerar a mudança. Se o código PHP for bom, o switch será indolor.

    
por Bailey S 16.11.2012 / 21:31
1

Você pode mover do MS Access para MSSQL ou MySQL ou PostgreSQL, mas você terá que movê-lo para algum lugar se quiser que o PHP no Linux seja capaz de lê-lo.

Existem receitas de livros de receitas em todo o lugar para acessar bancos de dados Jet do PHP, mas elas são verdadeiras - todas elas assumem que você está executando o PHP em uma máquina Windows com o MS Access instalado e use o driver ODBC somente para Windows para abrir arquivos Jet ("acesso") que é empacotado com o Access. Não é bom para você no Linux.

    
por Jim Salter 23.11.2012 / 22:54
0

Leia este link:

Acessando o Microsoft SQL Server do PHP no Ubuntu usando o PDO, ODBC e FreeTDS

link

siga estas instruções para acessar os bancos de dados do SQL Server do PHP no seu servidor Ubuntu:

Instale os pacotes freetds-bin, freet-common, tdsodbc, odbcinst, php5-odbc e unixodbc . Isso fornece as bibliotecas de que você precisa.

Copie o conteúdo de /usr/share/doc/freetds-common/examples/odbcinst.ini para /etc/odbcinst.ini. Isso registra o driver FreeTDS com a camada ODBC.

Restart your webserver to load the ODBC module into PHP.

É isso! Agora você deve estar em funcionamento. Tente testar a conexão com o banco de dados com algo parecido com isto:

<?php
try
{
$db = new PDO('odbc:Driver=FreeTDS; Server=hostname_or_ip; Port=port; Database=database_name; UID=username; PWD=password;');
}
catch(PDOException $exception)
{
die("Unable to open database.<br>Error message:<br><br>$exception.");
}
echo '<h1>Successfully connected!</h1>';
$query = 'SELECT * FROM table_name';
$statement = $db->prepare($query);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_NUM);
?>
    
por ptheo 17.11.2012 / 20:25