Cesar Romero

Delphi programming

Entries for the ‘DB’ Category

Delphi 2010 DBX com SQL Server 2008

Há alguns dias eu postei o artigo Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010, hoje o Bob Swart postou em seu blog o artigo Delphi/C++Builder 2010 DBX4 and SQL Native Client sobre o mesmo assunto com um complemento explicando a solução para o erro:
“DBX Error: Driver could not be properly [...]

BDE Install para Windows 64bit

Postei no Code Central um instalador para o BDE que funciona para Windows 32bit e Windows 64bit.
O link para download é http://cc.embarcadero.com/item/27573.
O crédito pelo instalador é do Edmar Frazão.
Atenção: O BDE foi descontinuado, então ele não terá atualizações. Por exemplo, nunca terá suporte a Unicode.
Você não deve iniciar o desenvolvimento de novas aplicações com BDE. Considere migrar [...]

Configurando DBX para acessar o MS SQL Server 2000 e 2005 no Delphi 2010

No Delphi 2010, por padrão o DBX lista como opção pra acessar o MS SQL Server, um driver chamado MSSQL, que está configurado para acessar o SQL Server 2008, já que o VendorLib está com o valor “sqlncli10.dll”.
Para acessar o SQL Server 2005, tem uma configuração de driver pronta no arquivo dbxdrivers.ini, chamada MSSQL9 [...]

TSQLConnection.Params como ConnectionString

Pra quem está acostumado a trabalhar com as tecnologias de banco de dados da Microsoft como ADO, sabe que as configurações de conexão de banco de dados são passadas em uma propriedade chamada ConnectionString, uma linha única contendo todos os parâmetros da conexão separados por ponto e vírgula, diferente da propriedade Params do TSQLConnection, que [...]

Firebird DBX Driver

Ultimamente somente vejo boas notícias para o Firebird.

Ganhou prêmio de projeto no SourceForge
Delphi 2010 vai suportar o Firebird
Mais um driver DBX gratuíto para Delphi 2007 e 2009 disponível com fontes.

O driver foi escrito pelo programador Chau Chee Yang, há mais ou menos um ano, eu troquei alguns emails com ele, perguntando se ele pretendia disponibilizar os [...]

Acelerando TClientDataSet com Midas Speed Fix – Unit

A partir do post CodeGear, please release the TClientDataSet (midas.dll) code! no Fórum ???delphi.non-technical???, Andreas Hausladen analisou o problema de performance do TClientDataSet, no qual ele comenta no post What a bad ReallocMem can do to Midas, que ele explica que analisando a partir do assembler do MidasLib.dcu, descobriu que a realocação de memória não [...]

PostgreSQL – Lightning Admin por $4.99

A AM Software Design anunciou uma promoção imperdível para quem trabalha com PostgreSQL, até dia 31/dez/2008, o Lightning Admin for PostgreSQL, custa apenas $ 4.99, a partir de 01 de janeiro o preço volta a ser $49.99.
Ainda como parte da promoção, você recebe uma licença do Lightning Admin for MySQL e todas as atualizações inclusive a versão [...]

Entendendo NULL

Algumas pessoas erroneamente tendem a pensar que NULL é zero ou vazio. Em fato, NULL não é nenhum destes. NULL é literalmente um valor desconhecido ou indeterminado.
O efeito desta natureza indeterminada de um valor NULL é que ele não pode ser usado em cálculos ou em Comparação.
A lista abaixo, contém algumas regras importantes a [...]

DBExpress – Campos numéricos com Oracle

Acessar campos numéricos do Oracle com o DBExpress pode apresentar problemas de formatação e o erro ???TDBXError with message ‘ORA-01722: número inválido’??? no ApplyUpdates, uma forma de resolver/contornar este problema é definir o parâmetro NLS_NUMERIC_CHARACTERS na conexão do Oracle.
Adicione o código no evento AfterConnect do TSQLConnection:

procedure TMainDM.SQLConnectionAfterConnect(Sender: TObject);
const
SQL = ‘ALTER SESSION SET NLS_NUMERIC_CHARACTERS=”.,”’;
begin
[...]

DBX – Executando SQL diretamente na Conexão

Na programação com componentes DBExpress, o componente TSQLConnection tem dois métodos muito interessantes:

TSQLConnection.Execute – para comandos SQL que incluem parâmetros ou esperam o retorno de cursores.
TSQLConnection.ExecuteDirect – para comandos SQL sem parâmetros.

A utilização destes métodos elimina a necessidade de utilizar SQL DataSet para tarefas diretas. Ambos métodos retornam o número de registros afetados pelas instrução [...]