Página 1 de 1

Oracle Discoverer - gerenciador de BD

MensagemEnviado: Qui Jun 27, 2019 10:52 am
por JSCOPA10
.
Alguém sabe alguma coisa sobre o gerenciador de banco de dados Oracle Discoverer??
.
Até onde sei ele saiu de linha (o do trabalho é uma versão de 1850 (k) - uma m...)!! ... Além disso a TI do trabalho funciona tão bem quanto a TI do bar da esquina k!!
.
Por isto estou pesquisando sobre um bom gerenciador de BD para sugerir lá!!
.
Alguma dica??
.
PS: como não achei um tópico apropriado (assuntos OFF), estou postando aqui!!
.

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Qui Jun 27, 2019 12:05 pm
por wagner
COPA,

Boa tarde!

A meu ver, o melhor gerenciados de Banco de Dados que existe é o SQL Server da Microsoft.

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Qui Jun 27, 2019 1:21 pm
por JSCOPA10
.
wagner, sim!! O gerenciador de BD aqui é esse SQL Server da M$ !!
.
Mas falo da interface para buscar os dados no BD!
.
Aqui usamos uma versão super antiga do Oracle Discoverer que trava a todo segundo!! ... E não é possível nem atualizar já que, até onde sei, a Oracle descontinuou o Discoverer!!
.

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Qui Jun 27, 2019 2:18 pm
por wagner
Ah tá. Entendi.

Bom... eu não conheço o Oracle Discoverer. Aqui na empresa usamos apenas o SQL Server Manegement Studio para trabalhar as consultas às diversas bases de dados.

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Qui Jun 27, 2019 5:24 pm
por rlm
Oracle e SQL Server (entre outros) são Sistemas Gerenciadores de Banco de Dados e são utilizados para o banco de dados em si bem como consultas/extração/alteração/exclusao.
Oracle é um dos pioneiros nesse gerenciamento de bancos enormes (gigantescos), e e bem segmentado; perdeu um pouco de espaço como o gerenciador da fabriquinha do tio Bill, bem como frente a outros menores e gratuitos https://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dados.
Mas um que vem crescendo e muito e o PostgreSQLhttp://pgdocptbr.sourceforge.net/pg82/intro-whatis.html, muito bom para consultas/gerar views e tudo o que se necessita em um bom gerenciador
site oficial: https://www.postgresql.org

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Seg Jul 01, 2019 11:49 am
por edcronos2
rlm
sou só um curioso então alem de buscar eficiência procuro por coisas praticas
a um tempo atrás tinha testado alguns bancos de dados
e o PostgreSQL foi o mais facil de manusear que achei
eu antes achava que por ser linguagem sql teria um padrão seguido por todos os bancos de dados ,
mas ledo engano
parece que em questão de eficiente bate de frente com a opções pagas
eu tinha até feito algumas macros de controle que fazia todo o gerenciamento do postgres "dentro de minhas necessidades " nem com o access que devia ser bem mais facil eu consegui chegar tão longe , e olha que eu nem preciso de um banco de dados kkkk

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Ter Jul 02, 2019 4:40 pm
por rlm
Ed,
por razões obvias os SGBD's comerciais devem ser mais eficientes e "parrudos", e nem todo mundo necessita deles completos, motivo; creio eu; que a oracle "fatiou" o seu, esperando, e obtendo,uma maior fatia de mercado. Em uma empresa que trabalhei o sgbd era DB2 (IBM), porem, depois de muito tempo, TI nos "brindou" com uma versão oracle para efetuarmos consultas/analise/etc dos dados do banco.
Notei ai que o sql, apesar de padronizado, tem "pegadinhas"
Um overview sobre sql e escolha de sgbd, que apesar de pinceladas, julgo muito bom é no canal youtube Socrática
Playlist: https://www.youtube.com/watch?v=nWyyDHhTxYU&list=PLi01XoE8jYojRqM4qGBF1U90Ee1Ecb5tt

em especial sobre escolha de SGDB
https://www.youtube.com/watch?v=WzfDLqt-WIg

Infelismente é em ingles, mas....

Re: Oracle Discoverer - gerenciador de BD

MensagemEnviado: Ter Jul 02, 2019 6:08 pm
por edcronos2
rlm
eu tinha testado mais por motivos de curiosidade , mas como sempre acabei levando um pouco longe já que nem dependia de um
para quem não é avançado e quer continuar usando o excel como ferramenta principal pela facilidade de uso e tem que trabalhar com grandes quantidades de dados , se não teve grandes mudanças o PostgreSQL é uma boa escolha, e ainda é gratuito oq seria um ponto forte para quem nao tem grana para investir em algo supostamente mais comercial , acho que o primeiro ponto seria a parte de especialização técnica
pelo menos dá para ter um belo controle e bem fácil pelo próprio vba dependendo muito pouco do próprio sql

algumas das macros que eu tinha feito
Código: Selecionar todos

Sub desconecta_sql()
     If Not Rs Is Nothing Then
          Rs.Close
          Set Rs = Nothing
     End If

     If Not Cn Is Nothing Then
          Cn.Close
          Set Cn = Nothing
     End If
End Sub

Sub Conecta_Banco(Optional ByVal Nome_banco As String, Optional ByVal Nome_Usuario As String, Optional ByVal Senha_Usuario As String)
     If Nome_banco = "" Then Nome_banco = "postgres"
     If Nome_Usuario = "" Then Nome_Usuario = "postgres"
     If Senha_Usuario = "" Then Senha_Usuario = "123456"

     Set Cn = New ADODB.Connection
     dbConnectStr = "Driver={PostgreSQL Unicode};Dsn=my_system_dsn;Server=localhost;port=5432;" & _
                    "Database=" & Nome_banco & _
                    ";Uid=" & Nome_Usuario & _
                    ";Pwd=" & Senha_Usuario
     Cn.Open dbConnectStr
End Sub


Sub matar_conexoes_sql(ByVal nome_conect As String)
     If Cn Is Nothing Then Conecta_Banco
     If nome_conect <> "todas" Then nome_conect = "select pg_terminate_backend(" & nome_conect & ")"
     If nome_conect = "todas" Then nome_conect = "SELECT pg_terminate_backend(pid) " & _
        "FROM pg_stat_activity " & _
        "WHERE pid <> pg_backend_pid();"
     Cn.Execute nome_conect
End Sub

Sub listar_conexoes()
     Dim Tipo As String
     If Cn Is Nothing Then Conecta_Banco
     If Rs Is Nothing Then Set Rs = New ADODB.Recordset

     Tipo = "SELECT tablename  FROM pg_catalog.pg_tables"

     'tipo = "SELECT usename FROM pg_user"

     ' tipo = "select datname," & _
       "pid," & _
       "usename," & _
       "application_name," & _
       "client_addr," & _
       " client_hostname," & _
       "backend_start " & _
       "from pg_stat_activity "  ' usuarios conectados
     Rs.Open Tipo, Cn
     Cells.ClearContents
     For c = 0 To Rs.Fields.COUNT - 2    'varre nomes de colunas
          Sheets("Usuarios_SQL").Cells(1, c + 1).Value = Rs.Fields(c).Name
     Next
     Sheets("Usuarios_SQL").Cells(2, 1).CopyFromRecordset Rs
End Sub


Sub Criar_Usuario_SQL(ByVal Nome_Usuario As String, Optional ByVal Senha_Usuario As String)
     If Nome_Usuario <> "" Then
          If Usuario_existe(Nome_Usuario) = True Then
               MsgBox "Usuario já Existe"
               Exit Sub
          End If
          Cn.Execute "CREATE ROLE " & Nome_Usuario & " LOGIN PASSWORD " & "'" & Senha_Usuario & "'" & ";"
     End If

End Sub


Sub Excluir_Usuario_SQL(ByVal Nome_Usuario As String, Optional ByVal Senha_Usuario As String)
     If Nome_Usuario <> "" Then
          If Usuario_existe(Nome_Usuario) = True Then
               Exit Sub
          End If
          'Cn.Execute "SELECT * FROM pg_stat_activity WHERE datname= " & Nome_Usuario & " ;"
          Cn.Execute "DROP USER " & Nome_Usuario & ";"    'LOGIN PASSWORD " & "'" & Senha_Usuario & "'" & ";"
     End If
     If Usuario_existe(Nome_Usuario) = False Then MsgBox "Usuario " & Nome_Usuario & " Excluido"
End Sub

Function Tabela_existe(ByVal Nome_Tabela As String) As Boolean
     Set Rs = New ADODB.Recordset
     Rs.Open "SELECT tablename  FROM pg_catalog.pg_tables", Cn
     ColunO = Rs.GetRows
     For Each Vn In ColunO
          If Vn = Nome_Tabela Then
               Tabela_existe = True
               Rs.Close
               Set Rs = Nothing
               Exit Function
          End If
     Next
     Tabela_existe = False
     Rs.Close
     Set Rs = Nothing
End Function

Function Usuario_existe(ByVal Nome_Usuario As String) As Boolean
     Conecta_Banco
     Set Rs = New ADODB.Recordset
     ' Rs.Open "SELECT  usename FROM pg_user WHERE usename = " & "'" & Nome_Usuario & "'", Cn
     Rs.Open "SELECT usename FROM pg_user", Cn
     ColunO = Rs.GetRows
     For Each Vn In ColunO
          If Vn = Nome_Usuario Then
               Usuario_existe = True
               Rs.Close
               Set Rs = Nothing
               Exit Function
          End If
     Next
     Usuario_existe = False
     Rs.Close
     Set Rs = Nothing

End Function


fora criar bancos , editar , escluir ...
e isso tudo usando o excel como frente ,
o unico chato era ter que especificar o tipo de dados de cada coluna das tabelas

para mim seria melhor usar o access por ser de uso mais acessível , mas não consegui a mesma flexibilidade com ele
eu tinha até montado macros que fazia filtragens no banco de dados no mesmo estilo de formulas do excel "quase"
infelizmente a maioria perdi junto da planilha e do hd antigo