AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 125828
Accepted
cjones
cjones
Asked: 2016-01-11 15:44:58 +0800 CST2016-01-11 15:44:58 +0800 CST 2016-01-11 15:44:58 +0800 CST

Para um aplicativo de software, toda estação de trabalho precisa de drivers de banco de dados?

  • 772

realmente uma questão newb. No caso de algo como um sistema corporativo para uma empresa, onde os usuários finais estão executando leituras e gravações contínuas em um banco de dados, não parece que na maioria dos casos cada estação de trabalho precise dos drivers do banco de dados sendo usado. As credenciais estão sendo passadas pelo software, para o IP e a porta do banco de dados, e suponho que quando um novo usuário é adicionado ao software, ele o adiciona ao banco de dados e seus privilégios de leitura / gravação são atribuídos nesse ponto. O usuário fornece suas informações de login ao software que serve como suas credenciais para fazer leituras/gravações no banco de dados.

No entanto, se eu quiser acessar o banco de dados de um software de terceiros, Excel ou outro, preciso dos drivers para o banco de dados. Acho que não tenho certeza do porquê disso e queria saber se alguém poderia me explicar.

Um exemplo, uma empresa para a qual trabalhei, usava o IBM DB2. Tínhamos um sistema corporativo com o DB2 como banco de dados. Usando o software que o envolve, não me lembro de precisar dos drivers para ele. Quando começamos a escrever relatórios personalizados para ele no Excel, eu precisava dos drivers ODBC, assim como qualquer outra estação de trabalho que precisava da conexão Excel -> DB2.

database-design
  • 1 1 respostas
  • 84 Views

1 respostas

  • Voted
  1. Best Answer
    Mat
    2016-01-11T22:19:26+08:002016-01-11T22:19:26+08:00

    Tudo depende da aplicação e de como ela foi projetada.

    Dois casos principais:

    • O aplicativo cliente se conecta a um servidor de aplicativos, o servidor de aplicativos se conecta ao banco de dados.

      Nesse caso, não há necessidade de drivers de banco de dados no lado do cliente. O aplicativo cliente nunca se comunica diretamente com o banco de dados, mas apenas chama o software do lado do servidor. O aplicativo cliente, neste caso, pode ser um navegador da Web ou um aplicativo personalizado (grande ou pequeno) - não importa. O software do servidor de aplicativos oculta os detalhes e a estação de trabalho do usuário final nem sabe que tipo de banco de dados (se houver!) é usado no back-end.

      É assim que a maior parte da web funciona.

      Aqui, os usuários finais não precisam necessariamente de credenciais no banco de dados. Alguns aplicativos exigem isso (essencialmente delegam a autenticação ao banco de dados), alguns, por outro lado, lidam com a própria autenticação. Nesse caso, o software aplicativo do lado do servidor terá credenciais no banco de dados, mas os usuários finais não. O aplicativo do lado do servidor geralmente usará o banco de dados para armazenar identificadores e privilégios em seu próprio formato e permitir/negar ações com base nisso.

      Os usuários finais não precisarão de acesso à rede para o(s) servidor(es) de banco de dados neste cenário, apenas para os servidores de aplicativos.

    • O aplicativo cliente se conecta diretamente ao banco de dados

      Normalmente, neste caso, o aplicativo do lado do cliente é bastante grande (para software "Enterprise"). Todo o processamento do aplicativo é feito no software do lado do cliente e/ou procedimentos armazenados no banco de dados, o cliente interage diretamente com o banco de dados.

      Aqui você precisa de drivers no lado do cliente. (Mas isso pode não exigir uma instalação de driver separada. Por exemplo, um aplicativo Java pode vir com drivers JDBC agrupados e usá-los diretamente.)

      Os usuários finais precisam ter credenciais no banco de dados, com privilégios apropriados (estou ignorando completamente alguns horrores com contas compartilhadas). Eles também precisam de acesso à rede para a(s) porta(s) apropriada(s) no(s) servidor(es) de banco de dados, diretamente, por meio de proxies, VPNs ou qualquer outro meio.

    (E existem híbridos dessas duas abordagens, com algum trabalho feito por meio de um servidor de aplicativos, alguns diretamente no banco de dados. No entanto, não vi muitos deles.)

    O primeiro caso é mais comum atualmente em minha experiência, com o navegador se tornando o software do lado do cliente mais usado.

    • 3

relate perguntas

  • Os índices filtrados podem ajudar a melhorar as consultas baseadas em uma hora inserida ou isso deve ser evitado?

  • Qual é a diferença entre os tipos de dados MySQL VARCHAR e TEXT?

  • É melhor armazenar os valores calculados ou recalculá-los a pedido? [duplicado]

  • Armazenar vs calcular valores agregados

  • Quais são algumas maneiras de implementar um relacionamento muitos-para-muitos em um data warehouse?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve