De banco de dados

Conexão ao MySQL

No php:

<?php
if ($conexao = mysql_connect("servidor","usuario","senha"))
{
if (!$banco = mysql_select_db("banco"))
{
die("Erro ao conectar ao banco: ".mysql_error());
}
} else {
die("Erro ao conectar ao servidor: ".mysql_error());
}
?>

Em asp:

<%
strConnection = "Driver={MySQL ODBC 3.51 Driver}; SERVER=servidor; DATABASE=nome_do_banco; UID=usuario; PWD=senha;"
%>

Comentarios

Converter formato de data para o formato BR, em uma linha de código só

Vou pedir licença ao Frederico e também palpitar sobre a possibilidade de, em uma linha, converter o formato de data do banco (funciona para o MySQL e outros bancos) para o formato brasileiro em php.

Considerando que <?php $data = "2008-01-09 14:56:06"; ?>:
<?php echo date('d/m/Y H:m:s', strtotime($data)); ?> mostrará 09/01/2008 14:01:06.
<?php echo date('d/m/Y', strtotime($data)); ?> mostrará 09/01/2008.

Simples assim. :-)

Essa solução funciona para datas no formato yyyy-mm-dd hh:mm:ss e yyyy-mm-dd.

Publiquei em Converter formato de data para o formato BR, em uma linha de código só.

Comentario (1)

Qual é a diferença entre o tipo de dados CHAR e o tipo de dados VARCHAR? E o NCHAR e o NVARCHAR?

Uma dúvida comum no desenvolvimento com SQL Server é acerca dos campos String. Encontrei um excelente artigo falando sobre isso: Qual é a diferença entre o tipo de dados CHAR e o tipo de dados VARCHAR? E o NCHAR e o NVARCHAR?.

Primeiro vou explicar a diferença entre o CHAR e o VARCHAR:

* CHAR: Este tipo de dados sofre a ação da collation escolhida para o banco de dados em que foi criado (ou uma collation que pode ter sido especificada na criação da tabela) e armazena a mesma quantidade de caracteres que foram especificados na sua criação, preenchendo com espaços em branco casa haja necessidade. Por exemplo:

CREATE TABLE TB_STRING
(
CAMPO1 CHAR(10)
)

Se fizermos o seguinte INSERT:

INSERT TB_STRING('A')

O campo vai armazenar o valor ‘A’ e também vai armazenar mais nove espaços em branco depois. Por causa desta característica o tipo de dados CHAR é chamado de tipo de dados com tamanho fixo.

* VARCHAR: Este tipo de dados também sobre a ação da collation para o banco de dados em que foi criado (ou uma collation que pode ter sido especificada na criação da tabela) e armazena SOMENTE a quantidade de caracteres que foram especificados na sua criação . Por exemplo:

CREATE TABLE TB_STRING1
(
CAMPO1 VARCHAR(10)
)

Se fizermos o seguinte insert:

INSERT TB_STRING1('A')

O campo vai armazenar o valor ‘A’ SOMENTE, sem colocar espaços em branco depois. Por causa desta característica o tipo de dados VARCHAR é chamado de tipo de dados com tamanho variável.

Uma outra pergunta que sempre me fazem é: quando devo utilizar o CHAR ao invés do VARCHAR uma vez que o CHAR ocupa mais espaço ? A resposta é simples: o tipo CHAR deve ser utilizado quando sabemos de antemão que todos os dados inseridos em determinada coluna não são variáveis como, por exemplo, uma coluna que armazena um código de peça que sempre precisa ter 5 dígitos. Outro fator a ser considerado são as pesquisas feitas utilizando o operador =.

Já o VARCHAR deve ser utilizado quando não sabemos o que vamos armazenar. Um exemplo pode ser o nome do cliente ou razão social que sempre acaba variando.

Quanto ao desempenho é provável que os tipo de dados VARCHAR apresentem uma pequena diferença em relação ao tipo de dados CHAR, principalmente em operações que leiam muitos registros como a criação de índice. Porém esta diferença só é perceptível quando a quantidade de dados é grande e estamos fazendo uma medição correta.

Já os tipos de dados NCHAR e NVARCHAR são análogos aos tipos de dados CHAR e VARCHAR, respectivamente, porém com uma pequena diferença: os tipos de dados NCHAR e NVARCHAR não sofrem ação da collation e sempre gastam dois bytes para armazenar cada caractere.

Comentarios

Gerenciando o MSSQL Server

Há uma maravilhosa ferramenta disponibilizada pela Microsoft para o gerenciamento do seu banco SQL Server Express. É o SQL Server Management Studio Express. O endereço para baixar o SQL Server Management Studio Express é http://go.microsoft.com/fwlink/?LinkId=65110.

Antes de instalar o SQL Server Management Studio Express, é preciso instalar o MSXML 6.0. É o de nome msxml6.msi de 1,5MB.

Comentarios

Porque a pasta ‘/data’ (ou ‘/db’) está fora de ‘/wwwroot’?

O problema é que se alguém faz um acesso ao caminho do seu banco (por exemplo, http://www.seudominio.com.br/data/seubanco.mdb) o mesmo poderá ser baixado. Para evitar isso você deve colocar o banco na pasta /data fora do site (no mesmo nível da /wwwroot).

Uma vez que o banco esteja lá, você deve ir, no painel, à ODBC DSNs. Crie uma DSN, escolhendo um nome (por exemplo, meubanco, mas pode ser qualquer um) e criando uma string de conexão. Sua string de conexão passará a ser, então:

< %
strConn = “DSN=meubanco”
%>

Fica simples, independente do caminho, e o banco fica protegido contra downloads.

Comentarios