Hosting

O serviço Hosting Base de Dados destina-se a todos os Clientes empresariais que, desejando ter páginas na Internet com funcionalidades de recolha de informação das Base de Dados e preenchimento das mesmas, não possuem nem querem vir a possuir um Servidor, recorrendo assim à infra-estrutura partilhada da OniTelecom.
O cliente necessita de efectuar os seguintes passos para poder utilizar com sucesso a sua Base de Dados instalada na infra-estrutura partilhada da OniTelecom.


1º Passo

• O cliente deverá confirmar que possui os seguintes dados:

Nome da Base de Dados: <nome_db>
Tipo: MySQL
Login Admin: <user_admin>
Password Admin: <pass_admin>
Login de Leitura: <user_leitura>
Password de Leitura: <pass_leitura>
Quota (MBytes):

Nome do servidor de mysql: mysql.lx.esp

Nota: Nos scripts de exemplo os valores entre < > devem ser substituidos pelo respectivo valor.

2º Passo

• Copiar a estrutura da base de dados (Tabelas e Campos) do ambiente de Pré-Produção que o cliente utiliza para o repositório partilhado da OniTelecom, através da criação de um “Dump” file

3º Passo

• Efectuar o Up-Load do ficheiro com a estrutura “Dump” para o repositório de Hosting de páginas do cliente.

4º Passo

• Executar o “script” que contem o “Dump” file com a estrutura da base de dados.

5º Passo

• Incluir nos ficheiros de HTML o respectivo código (PERL, PHP, ASP) para inserir e/ou visualizar a informação que está na base de dados.

MySQL

• Processo para criar o ficheiro com a estrutura da base de dados (Tabelas) que está a utilizar em pré-produção e necessita de passar para o repositório partilhado da OniTelecom.

$ mysqldump –u user –h servermysql –p database > dump.sql


• Confirmar que foi criado um ficheiro “Dump” com a seguinte estrutura.

--
-- Host: mysql Database: <nome_db>
---------------------------------------------------------
-- Server version 3.23.49

--
-- Table structure for table '<nome_db>'
--

CREATE TABLE Tab1 (
id int(7) unsigned zerofill NOT NULL auto_increment,
value(7) unsigned zerofill NOT NULL default '0000000',
PRIMARY KEY (id)
) TYPE=MyISAM;

--
-- Dumping data for table 'Tab1 '


INSERT INTO Tab1 VALUES (0000001,0000002);
INSERT INTO Tab1 VALUES (0000001,0000002);
INSERT INTO Tab1 VALUES (0000001,0000002);


Processo para efectuar o “upload” do ficheiro criado previamente.

1º Efectuar via FTP o Up-Load do ficheiro.

2º Confirmar qual é o “User” e a “Password” do repositório de Hosting de Páginas. (Esta informação poderá ser consultada no portal www.net4b.pt

3º Utilizar um dos “Scripts” que se seguem como exemplo para carregar o ficheiro.


Nome da base de dados: <nome_db>
Nome de utilizador: <user_admin>
Password de utilizador: <pass_admin>
Ficheiro de SQL: dump.sql

PHP:

------------------------------------------------------

#!/usr/bin/php -q
<?
$dbh = mysql_connect('mysql.lx.esp', '<user_admin>', '<pass_admin>') or print(mysql_error()."<br>\n");
mysql_select_db('<nome_db>', $dbh) or print(mysql_error()."<br>\n");
$filename="test.sql";
$buffer = implode('', file($filename));
$linhas = preg_split("/;/", $buffer);
$i=0;
foreach ( $linhas as $linha ) {
        $linha = ltrim($linha);
        $linha = rtrim($linha);
        if ( $linha != '' ) {
            if ( !preg_match("/^--/", $linha) ) {
                if ( !preg_match("/^#/", $linha) ) {
                    echo "$linha;\n\n\n\n";
                }
            }
        }
        $i++;
mysql_query($linha,$dbh) or print(mysql_error()."<br>\n");
} ?>

------------------------------------------------------

ASP:
------------------------------------------------------

MyConn.Open "DRIVER=MySQL;SERVER=mysql.lx.esp;DATABASE=<nome_db>;
UID=<user_admin>;PWD=<pass_admin>"
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("dump.sql"), 1)
do while f.AtEndOfStream = false
    MyConn.Execute(f.ReadLine)
loop
f.Close

------------------------------------------------------


Neste momento já está criada a estrutura da base de dados (Tabelas, Campos e Registos).


• Apartir deste momento já poderá inserir e/ou visualizar a informação existente na Base de dados.


INSERT INTO Tab1 VALUES (0000001,0000002);

SELECT id,value from Tab1;