Outlook: Enviando E-mail sem o aviso de segurança


Esta tem sido a necessidade e a reclamação de muitos. Como enviar mensagens diretamente do Word, Excel sem que o Outlook fique com aquela mensagem cuidando da nossa vida?

PASSOS:
  1. Abra o Outlook
  2. Vá até o Menu |Tools | Macro | Visual Basic Editor
  3. No ambiente de VBA expanda o projeto que estiver no nó (geralmente é 'Project1')
  4. Ache e abra o módulo "ThisOutLookSession" (Abre com um duplo clique)
  5. Copie e cole o código abaixo:
Option Explicit

' Code: Send E-mail without Security Warnings
' OUTLOOK 2003 VBA CODE FOR 'ThisOutlookSession' MODULE
' (c) 2005 Wayne Phillips (http://www.everythingaccess.com)
' Written 07/05/2005
' Last updated v1.4 - 26/03/2008
'
' Please read the full tutorial here:
' http://www.everythingaccess.com/tutorials.asp?ID=Outlook-Send-E-mail-without-Security-Warning
'
' Please leave the copyright notices in place - Thank you.

Private Sub Application_Startup()

'IGNORE - This forces the VBA project to open and be accessible using automation
' at any point after startup

End Sub

' FnSendMailSafe
' --------------
' Simply sends an e-mail using Outlook/Simple MAPI.
' Calling this function by Automation will prevent the warnings
' 'A program is trying to send a mesage on your behalf...'
' Also features optional HTML message body and attachments by file path.
'
' The To/CC/BCC/Attachments function parameters can contain multiple items by seperating
' them by a semicolon. (e.g. for the strTo parameter, 'test@test.com; test2@test.com' is
' acceptable for sending to multiple recipients.
'
Public Function FnSendMailSafe(strTo As String, _
strCC As String, _
strBCC As String, _
strSubject As String, _
strMessageBody As String, _
Optional strAttachments As String) As Boolean

' (c) 2005 Wayne Phillips - Written 07/05/2005
' Last updated 26/03/2008 - Bugfix for empty recipient strings
' http://www.everythingaccess.com
'
' You are free to use this code within your application(s)
' as long as the copyright notice and this message remains intact.

On Error GoTo ErrorHandler:

Dim MAPISession As Outlook.NameSpace
Dim MAPIFolder As Outlook.MAPIFolder
Dim MAPIMailItem As Outlook.MailItem
Dim oRecipient As Outlook.Recipient

Dim TempArray() As String
Dim varArrayItem As Variant
Dim strEmailAddress As String
Dim strAttachmentPath As String

Dim blnSuccessful As Boolean

'Get the MAPI NameSpace object
Set MAPISession = Application.Session

If Not MAPISession Is Nothing Then

'Logon to the MAPI session
MAPISession.Logon , , True, False

'Create a pointer to the Outbox folder
Set MAPIFolder = MAPISession.GetDefaultFolder(olFolderOutbox)
If Not MAPIFolder Is Nothing Then

'Create a new mail item in the "Outbox" folder
Set MAPIMailItem = MAPIFolder.Items.Add(olMailItem)
If Not MAPIMailItem Is Nothing Then

With MAPIMailItem

'Create the recipients TO
TempArray = Split(strTo, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olTo
Set oRecipient = Nothing
End If

Next varArrayItem

'Create the recipients CC
TempArray = Split(strCC, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olCC
Set oRecipient = Nothing
End If

Next varArrayItem

'Create the recipients BCC
TempArray = Split(strBCC, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olBCC
Set oRecipient = Nothing
End If

Next varArrayItem

'Set the message SUBJECT
.Subject = strSubject

'Set the message BODY (HTML or plain text)
If StrComp(Left(strMessageBody, 6), "<HTML>", vbTextCompare) = 0 Then
.HTMLBody = strMessageBody
Else
.Body = strMessageBody
End If

'Add any specified attachments
TempArray = Split(strAttachments, ";")
For Each varArrayItem In TempArray

strAttachmentPath = Trim(varArrayItem)
If Len(strAttachmentPath) > 0 Then
.Attachments.Add strAttachmentPath
End If

Next varArrayItem

.Send 'No return value since the message will remain in the outbox if it fails to send

Set MAPIMailItem = Nothing

End With

End If

Set MAPIFolder = Nothing

End If

MAPISession.Logoff

End If

'If we got to here, then we shall assume everything went ok.
blnSuccessful = True

ExitRoutine:
Set MAPISession = Nothing
FnSendMailSafe = blnSuccessful

Exit Function

ErrorHandler:
MsgBox "An error has occured in the user defined Outlook VBA function FnSendMailSafe()" & vbCrLf & vbCrLf & _
"Error Number: " & CStr(Err.Number) & vbCrLf & _
"Error Description: " & Err.Description, vbApplicationModal + vbCritical
Resume ExitRoutine

End Function

Teste o código do Outlook.

Envie um e-mail de teste a partir da janela imediata do OutLook (CTRL+G)

? ThisOutlookSession.FnSendMailSafe("","","bernardess@gmail.com","A and A – Teste do Outlook","TEST")

Agora que já está certo de que o cóigo VBA foi instalado corretamente, partamos para o próximo passo:

NESTE EXEMPLO UTILIZAREMOS O MS ACCESS, MAS É APROPRIADO PARA QUALQUER PROGRAMA DA SUÍTE MS OFFICE COM VBA.

Chamando a função VBA do Outlook a partir do código VBA do Access
  1. Abra sua base de dados Access
  2. Crie um novo o módulo para testarmos o nosso propósito
  3. Copie e cole o código abaixo:

Option Explicit

' ACCESS VBA MODULE: Send E-mail without Security Warning
' (c) 2005 Wayne Phillips (http://www.everythingaccess.com)
' Written 07/05/2005
' Last updated v1.3 - 11/11/2005
'
' Please read the full tutorial & code here:
' http://www.everythingaccess.com/tutorials.asp?ID=Outlook-Send-E-mail-without-Security-Warning
'
' Please leave the copyright notices in place - Thank you.
      

'This is a test function - replace the e-mail addresses with your own before executing!!
'(CC/BCC can be blank strings, attachments string is optional)
      

Sub FnTestSafeSendEmail()
    Dim blnSuccessful As Boolean
    Dim strHTML As String

    strHTML = "<html>" & _
               "<body>" & _
               "My <b><i>HTML</i></b> message text!" & _
               "</body>" & _
               "</html>" 
    blnSuccessful = FnSafeSendEmail("myemailaddress@domain.com", _
                                    "My Message Subject", _
                                    strHTML)


      'A more complex example...    
    'blnSuccessful = FnSafeSendEmail("bernardess@gmail.com; secondrecipient@domain.com", _
                                         "My Message Subject", _     
                                         strHTML, _    
                                         "C:\MyAttachmentFile1.txt; C:\MyAttachmentFile2.txt", _ 
                                         "cc_recipient@domain.com", _  
                                         "bcc_recipient@domain.com")
      
    If blnSuccessful Then

        MsgBox ".: Mensagem de E-mail enviada com sucesso!"

    Else

        MsgBox ":. Falha ao enviar e-mail!"

    End If

End Sub


'This is the procedure that calls the exposed Outlook VBA function...
      
Public Function FnSafeSendEmail(strTo As String, _
                    strSubject As String, _
                    strMessageBody As String, _
                    Optional strAttachmentPaths As String, _
                    Optional strCC As String, _
                    Optional strBCC As String) As Boolean

    Dim objOutlook As Object ' Note: Must be late-binding.
    Dim objNameSpace As Object
    Dim objExplorer As Object
    Dim blnSuccessful As Boolean
    Dim blnNewInstance As Boolean


      'Is an instance of Outlook already open that we can bind to?
      
    On Error Resume Next
    Set objOutlook = GetObject(, "Outlook.Application")
    On Error GoTo 0

    If objOutlook Is Nothing Then


      'Outlook isn't already running - create a new instance...
      
        Set objOutlook = CreateObject("Outlook.Application")
        blnNewInstance = True    

      'We need to instantiate the Visual Basic environment... (messy)
      
        Set objNameSpace = objOutlook.GetNamespace("MAPI")
        Set objExplorer = objOutlook.Explorers.Add(objNameSpace.Folders(1), 0)
        objExplorer.CommandBars.FindControl(, 1695).Execute

        objExplorer.Close

        Set objNameSpace = Nothing
        Set objExplorer = Nothing

    End If

    blnSuccessful = objOutlook.FnSendMailSafe(strTo, strCC, strBCC, _
                                                strSubject, strMessageBody, _
                                                strAttachmentPaths)

    If blnNewInstance = True Then objOutlook.Quit
    Set objOutlook = Nothing

    FnSafeSendEmail = blnSuccessful

End Function

Pois é, divirtam-se…


Tags: VBA, Outlook, email, security, warning, aviso, Application, Automation



VBA OutLook: Uso do editor do Word no outlook.

Copie o código abaixo e cole no editor VBA do Outlook (ALT+F11 no Outlook). Então crie um botão no "Quick Access Toolbar" para acessar a funcionalidade. IMPORTANTE: Não esqueça de ativar a "Word object library" no Menu | Tools | Referências|, do editor VBA.


Sub TimeStamp()
Dim strText As String
Dim objItem As Object
Dim objExpl As Outlook.Explorer
Dim objInsp As Outlook.Inspector
Dim objDoc As Word.Document
On Error Resume Next

Set objNameSpace = Application.GetNamespace("MAPI")
Let MyName = objNameSpace.CurrentUser.Name
Let strText = ">> " & Date & " " & Time & " " & MyName & ":" & vbCrLf & vbCrLf & vbCrLf

Set objExpl = Application.ActiveExplorer
Set objItem = objExpl.Selection(1)

If Not objItem Is Nothing Then
Set objInsp = objItem.GetInspector

If objInsp.EditorType = olEditorWord Then
Set objDoc = objInsp.WordEditor

objDoc.Characters(1).InsertBefore strText
Else
MsgBox "Não pode inserir texto formatado a menos que o Word seja o Editor."
End If
End If

Set objInsp = Nothing
Set objDoc = Nothing
Set objExpl = Nothing
Set objItem = Nothing
Set objMsg = Nothing
End Sub

VBA OutLook: Criando tarefas a partir de um e-mail.

Copie o código abaixo e cole no editor VBA do Outlook (Acesse o editor pressionando ALT+F11 no Outlook). Então crie um botão no "Quick Access Toolbar" para mensagens de e-mail que acessem a função "ContruaTarefasDOeMail()".


Sub ContruaTarefasDOeMail()
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim olMail As Outlook.MailItem
Dim objTask As Outlook.TaskItem

Set objMail = Outlook.Application.ActiveInspector.CurrentItem

strID = objMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set olMail = olNS.GetItemFromID(strID)
Set objFolder = olNS.PickFolder
Set objTask = objFolder.Items.Add(olTaskItem)
objRecipients = InputBox("Queira digitar um usuário adicional para ser atualizado, separado por ponto e vírgula:", ".: A&A - Lista de atualização")
With objTask
.Subject = olMail.Subject
.Body = olMail.Body
.StatusUpdateRecipients = olMail.SenderEmailAddress & "; " & objRecipients
.StatusOnCompletionRecipients = olMail.SenderEmailAddress & "; " & objRecipients
End With

Call TarefaAnexar(olMail, objTask)

objTask.Display

Set objTask = Nothing
Set olMail = Nothing
Set olNS = Nothing
End Sub

Sub TarefaAnexar(objSourceItem, objTargetItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2)

Let strPath = fldTemp.Path & "\"

For Each objAtt In objSourceItem.Attachments
Let strFile = strPath & objAtt.FileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub

VBA OUTLOOK: Enviando Lembretes por e-mail

Jamais or Outlook disparará um lembrete sozinho, o código VBA para o MS Outlook é um exemplo simples de como enviar lembretes para o endeço de e-mail que sspecificarmos.

Digite este código no módulo "ThisOutlookSession":

 

Private Sub Aplicacao_Lembrete(ByVal Item As Object)

Dim objMsg As MailItem

' Crie uma nova mensagem.

Set objMsg = Application.CreateItem(olMailItem)

' O endereço do seu lembrete de notificação, bem como o assunto.

Let objMsg.To = "bernardess@gmail.com"

Let objMsg.Subject = "Lembrar-se: " & Item.Subject

' Pelo menos 4 tipos de lembretes poderão ser gerados.

Select Case Item.Class

Case olAppointment '26

Let objMsg.Body = _

"Iniciando…: " & Item.Start & vbCrLf & _

"Finalizando: " & Item.End & vbCrLf & _

"Localização: " & Item.Location & vbCrLf & _

"Detalhes: " & vbCrLf & Item.Body

Case olContact '40

objMsg.Body = _

"Contato: " & Item.FullName & vbCrLf & _

"Telefone: " & Item.BusinessTelephoneNumber & vbCrLf & _

"Detalhes do contato: " & vbCrLf & Item.Body

Case olMail '43

objMsg.Body = _

"Due: " & Item.FlagDueBy & vbCrLf & _

"Detalhe: " & vbCrLf & Item.Body

Case olTask '48

objMsg.Body = _

"Iniciando: " & Item.StartDate & vbCrLf & _

"Finalizando: " & Item.DueDate & vbCrLf & _

"Detalhe: " & vbCrLf & Item.Body

End Select

' send the message

objMsg.Send

Set objMsg = Nothing

End Sub

 

Notes

O uso de objMsg.Send disparará um aviso de segurança no Outlook 2000 e 2002.

Para desligar o popup do Reminder, você precisa acessar Tools | Options | Other | Advanced Options | Reminder Options.

Se você estiver enviando reminders para um pager, possivelmente desejará modificar o código para delimiter o número de caracteres enviados. 

Caso modifique o código para incluir diferentes propriedade para envio, certifique-se da existência de um tipo de "item" em particular.

Divirta-se! 

VBA Outlook - 01 - Iniciando




Assim como os demais programas da suíte MS Office, o Microsoft Outlook 2000, bem como suas posteriores versões incluem o Visual Basic for Applications.

Podemos escrever o nosso próprio código automatizando o MS Outlook. Além disso, como nos demais programas da suíte MS Office, também podemos gravar macros.

Iniciando:
Posto abaixo um código básico para iniciar junto com o MS Outlook:

Nas versões em inglês do MS Outlook 2000 ou 2003, escolha: Tools | Macro | Security and set security to Medium.

Na versão do MS Outlook 2007 em inglês escolha as configurações para segurança de macro em: Tools | Trust Center dialog. Configure para aceitar as macros.

Re-inicie o Outlook.
Pressione Alt + F11 para que possa iniciar a digitação do código no ambiente VBA,
Abra o "Project Explorer" pressionando o botão esquerdo.

Dê um Duplo-clique em ThisOutlookSession e inicie a digitação do código abaixo:

Grave o código no módulo.

O código abaixo é um exemplo simples para introduzí-lo a utilização do VBA no MS Outlook:

Sub MensagemOlaMundo()
Dim msg As Outlook.MailItem 
Set msg = Application.CreateItem(olMailItem) 
Let msg.Subject = ".: A&A - Olá Mundo!" 
msg.Display 
Set msg = Nothing
End Sub


Divirta-se!




Reference::

Tags: VBA, Outlook, MS Outlook,, MS Outlook 2003, MS Outlook 2007

Inline image 1



VBA EXCEL - Excluindo linhas duplicadas em coluna ordenada




Termo de Responsabilidade















São inesgotáveis as perguntas sobre como excluir linhas duplicadas. Para a execução do código abaixo é necessário que a coluna esteja ordenada. Poderá até mesmo incluir tal indexação a posteriori. Por enquanto fica como está abaixo:


Sub DelDoubleLine()
Dim nLine As LongDim nString, nRow As StringDim nAdress as String 
Let nLine = 1Let nAdress = "B10" 
Range (nAdress).Select 
Let str = Range (nAdress).Value 
Do While Not ActiveCell.Offset (nLine).Value = ""
If ActiveCell.Offset (nLine).Value = nString Then
GoSub DeleteRow
Else
Let nString = ActiveCell.Offset (nLine).ValueLet nLine = nLine + 1
End If
Loop 
Exit Sub 
DeleteRow:Let nRow = nLine + 1 & ":" & nLine + 1 
Rows (nRow).Select Selection.Delete Shift:=xlUp 
Range (nAdress).Select 
Return
End Sub



Reference::

Tags: VBA, Excel, rows, line,

Inline image 1

Banco de Dados - História - A Short Databases´s History



MySQL
O MySQL é um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicações Web, é amplamente utilizado na internet. É muito comum encontrar serviços de hospedagem de sites que oferecem o MySQL e a linguagem PHP, justamente porque ambos trabalham muito bem em conjunto.
Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), Windows e Mac OS X. Além disso, o MySQL é um software livre (sob licença GPL), o que significa que qualquer um pode estudá-lo ou alterá-lo conforme a necessidade. MySQL surgiu na Suécia pelas mãos de três colegas: Allan Larsson, David Axmark e Michael Monty Widenius. Trabalhando com base de dados, eles sentiram a necessidade de fazer determinadas conexões entre tabelas e usaram o mSQL para isso. Porém, não demorou para perceberem que essa ferramenta não lhes atendia conforme o necessário e passaram a trabalhar em uma solução própria. Surgia então o MySQL, cuja primeira versão foi lançada no ano de 1996.
Um fato importante a ser destacado sobre o MySQL é que esse SGBD também possui uma licença comercial, isto é, paga. A MySQL AB, empresa que o desenvolve e que o distribui, oferece suporte diferenciado a quem estiver disposto a pagar por isso.

POSTGRESQL
O sistema gerenciador de banco de dados PostgreSQL teve seu início na Universidade de Berkeley, na Califórnia, em 1986. À época, um programador chamado Michael Stonebraker liderou um projeto para a criação de um servidor de banco de dados relacionais chamado Postgres, oriundo de outro projeto da mesma instituição denominado Ingres. Essa tecnologia foi então comprada pela Illustra, empresa posteriormente adquirida pela Informix. Porém, mesmo diante disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram o Postgres à linguagem SQL. Este projeto recebeu o nome de Postgres95.
Em 1996, quando o projeto estava estável, o banco de dados recebeu o nome de PostgreSQL. No entanto, enquanto ainda possuía o nome Postgres95, o banco de dados teve várias mudanças. O seu código foi totalmente revisado e a linguagem SQL foi definida como padrão.
Tecnicamente falando, o PostgreSQL é um banco de dados relacional e orientado a objetos. Um de seus atrativos é possuir recursos comuns a banco de dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um banco de dados versátil, seguro, gratuito e de código aberto (disponível sob uma licença BSD).

ORACLE
ORACLE é um sistema de gerenciamento de banco de dados relacional produzido pela ORACLE Corporation de Belmont, Califórnia. A ORACLE Corporation também pública usa série de produtos voltados pra uso conjunto com o banco de dados. Os usuários cadastrados na ORACLE acessam a base de dados através de uma linguagem não procedural o SQL, que pode ser procedural quando integrado com PL formando PL/SQL. Esta integração fornece total integridade, segurança e compõe uma linguagem estruturada de bloco e uma linguagem com capacidade procedural. O ORACLE dispõe de uma gama variada de ferramentas que vão desde ferramentas de manipulação dos dados, de desenvolvimento e até para viabilizar comunicação com outras bases de dados.

DATAFLEX
Criado em 1981 pela software house americana DATA Access, o DATAFLEX foi criado inicialmente como um produto para a manipulação de arquivos de dados, com uma pequena linguagem de programação que permitia manipular as informações de forma prática e rápida. Atualmente, o DATAFLEX é uma ferramenta para desenvolvimento de aplicações que inclui um Sistema Gerenciador de Banco de Dados Relacional conbinado com uma línguagem de Quarta Geração Procedural e linguagem de Programação Orientada à Objetos. Como todo sistema gerenciador de banco de dados profissional, há dois modos de trabalharmos com o DATAFLEX. O primeiro modo é o interativo, normalmente utilizado por pessoas que não possuem muitos conhecimentos técnicos de manipulação de dados via programa, mas necessitam informatizar os seus dados em arquivos no computador, de modo que possam, por exemplo, alterá-los ou pesquisá-los posteriormente. Para pessoas com esse perfil, o DATAFLEX oferece ferramentas com telas interativas que permitem a criação de arquivos de dados, a entrada de dados neles e, obviamente, a sua pesquisa. Para programadores, o DATAFLEX oferece, além das ferramentas interativas, outras destinadas apenas ao desenvolvimento de sistemas e uma linguagem de programação de forma procedural.

ADABAS
Em 1971 a Software AG, com sede em Darnstadt (Alemanha) lança a primeira versão do ADABAS, conhecido como uma família de servidores e tecnologia que combina funcionalidade e gestão avançada de dados multiplataforma. O ADABAS é um avançado sistema para gerenciamento de banco de dados relacional (SGBDR), que requer o envolvimento mínimo do DBA e não necessita de reorganização do banco de dados. É o único SGBDR desenhado desde o início com capacidades de distribuição de dados transparentes e avançadas capacidades incorporadas, não adaptadas.

PROGRESS
PROGRESS é um completo Ambiente de Desenvolvimento de Aplicações baseado em componentes que oferece ferramentas de desenvolvimento e ambiente de produção para a construção, montagem e distribuição de sistemas de classe corporativa através de ambientes heterogêneos e cliente/servidor. A linha de produtos é composto pelo Ambiente visual de Desenvolvimento de Aplicações (PROGRESS ADE (Application Development Environment)), pela Arquitetura PROGRESS DataServer e pelo Sistema Gerenciador de Banco de Dados Relacional (SGBDR) PROGRESSPROGRESS oferece ferramentas de desenvolvimento integradas, para construir completamente, aplicações de classe corporativa formada por componentes altamente interativos. Equipes de desenvolvedores podem facilmente montar, compartilhar e reutilizar aplicações através de um grande conjunto de opções de plataformas, ambientes operacionais, configurações e interfaces de usuário, sem a necessidade de alterar a lógica de aplicação. Estas ferramentas oferecem tecnologia RAD (Rapid Application Development), enorme produtividade, consistência nas aplicações e menores custos de manutenção.

References:
Oscar Dalfovo, MAN - ANÁLISE COMPARATIVA ENTRE OS BANCOS DE DADOS ADABAS, DATAFLEX, ORACLE E PROGRESS. http://campeche.inf.furb.br/siic/siego/docs/dalfovo__oscar__tirelli__aldiranalisec.pdf
[ADA95] ADABAS: Concepts and Facilities. Estados Unidos : Software AG of North America, 1995.
[CHU83] CHU, Shao Yong. Banco de Dados : organização, sistemas e administração. São Paulo: Atlas, 1983.
[DAT91] DATE, C.J. Introdução a sistemas de banco de dados. Rio de Janeiro : Campus, 1988.
[KER94] KERN, Vinicius Medina. Banco de dados relacionais teoria e prática de projeto. São Paulo : Érica, 1994.
[KOR95] KORTH, Henry F. , Silberschatz, Abraham. Sistema de banco de dados. 2. Ed. São Paulo : Makron Books, 1995.
[OLI95] OLIVEIRA, Gorki Starlin da costa. Dataflex 3.01b. São Paulo : Makron Books, 1995.
[ORA96] Grupo de Usuários Oracle Brasil. Encontro Nacinal dos Usuários Oracle, 1996. São Paulo : Esfera da Publicidade, 1996.
[PRO95] PROGRESS: Visão Geral de Produtos para Desenvolvimento Baseado em Componentes e Ambientes
Carlos Eduardo Santos Pires, Rilson Oscar Nascimento, Ana Carolina Salgado - Comparativo de Desempenho entre Bancos de Dados de Código Aberto - http://www.upf.br/erbd/download/15997.pdf
Gray, J. (1993). Database and Transaction Processing Performance Handbook. Chapter 1. Morgan Kaufmann Publishers.
GreatBridge Performance Comparison. (2000).http://www.angelfire.com/country/aldev0/pgsql/GreatBridge.html, último acesso em 23/2/2006.
Hernández, P. e Gonzalo, J. (2002). Implementación en C del benchmark de transacciones distribuidas TPC-C", Bs.C Thesis. Escuela Universitaria Politécnica de Valladolid, Universidad de Valladolid, Spain.
Moran, B. (2003). The Devil's in the DeWitt clause.http://www.windowsitpro.com/Article/ArticleID/38587/38587.html, último acesso em 23/2/2006.
MySQL. (2005). Performance Comparison by MySQL Group.http://sunsite.mff.cuni.cz/MIRRORS/ftp.mysql.com/information/benchmarks.html, último acesso em 23/2/2006.
OSDB. The Open Source Database Benchmark. (2001). http://osdb.sourceforge.net/, último acesso em 23/2/2006.
OSDL. Open Source Development Labs – Database Test 2. (2002). http://www.osdl.org/, último acesso em 23/2/2006.
TPC. Transaction Processing Performance Council. (2001). http://www.tpc.org/, último acesso em 23/2/2006.
Turbyfill, C., Orji, C and Bitton, D. (1992). AS3AP: An ANSI SQL Standard Scalable and Portable Benchmark for Relational Database Systems. The Benchmark Handbook for Database and Transaction Processing, Chapter 4. Morgan Kaufmann.
Josh Hoskins - Free database comparison http://techrepublic.com.com/

 Tags: Database, MySQL, POSTGRESQL, ORACLE, DATAFLEX, ADABAS, PROGRESS, history

diHITT - Notícias