Jump to content
amauri.alves

Porque Usar ODBC

Recommended Posts

Boa noite,
    Pessoal preciso de uma opnião de algum especialista.

    Seguinte: Desenvolvo sistemas em Delphi e sempre utilizei conexões ODBC para me conectar com Banco seja ele qual for e sempre fiz assim porque numca tive problemas e todas as grandes desenvolvedores de software que eu conheco (Senior, Totus, Mega e algumas outras utilizam assim). 
    Ocorre que agora estou iniciando um projeto e estou sendo muito questionado por utilizar ODBC, me dizem que estou colocando um complicador a mais no sistema sendo que eu poderia acessar diretamente sem ele ( estou utilizando mysql).
    Só que eu não gosto da ideia mudar uma estrutura apenas porque alguns analistas querem que eu mude, precisa ter alguma justificativa técnica pra isto.
    Por tanto eu preciso de algum argumento técnico, uma matéria ou algo que justifique a utilização ou não do uso de ODBC.
Alguem pode me ajudar nisto, alguem tem algum argumento técnico falando dos prós e contras da utilização de conexões ODBC.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Geraldo lacerda
      Ola pessoal.. sou inciante em delphi mobile e estou com a seguinte situação:
      tenho 3 listview que recebe dados via rest de um site PHP
      usando restCliente, RestREquest e restResponse...
      os dados recebe certim, popula alistvew tudo corretamente, compila também tudo normal.... o problema vem a seguir.....
      no rest tem um campo imagem (jpg,png) somente a url da imagem,
      uso esta função para converter a imagem em Bitmap

      function TfrmPrincipal.LerImage(url: string): TBitmap;  var  strm : TmemoryStream;  begin     strm := TMemoryStream.Create;     try           http.Get(url,strm);           strm.Position := 0;           Result  := TBitmap.Create;           result.Width := 100;           result.Height := 50;           result.LoadFromStream(strm);     finally       strm.Free;     end;  end;

      porem quando coloco na listview esta imagem o aplicativo trava (para de responder..... uso desta forma no listview
      alguem me dá uma luz como resolver isso??
       
    • By xdxddxd
      olá pessoal se puderem tirar essa minha duvida rápidinho eu agradeço.
      ainda tem como usar o font awesome por link invés de manter ele na maquina local ? se sim, podem me passar o link ?
      estou fazendo uma aplicação delphi usando o lazarus e o raudus, porem ainda não sei muito bem como referenciar um item local por isso quero puxar as coisas direto de seus devidos servidores.
      obrigado pela atenção.
    • By 100rafael61
      Então queria saber se é possível fazer a conexão entre o Delphi e uma Impressora Não Fiscal (uma simples)?
       
      É que estou desenvolvendo um programa em Delphi, e minha ideia era que através de um button, fosse impresso algo que está escrito em um DBEdit (Pode ser outro componente editável, desde que seja BD, pois estou mexendo com banco).
       
      E não tenho ideia de como desenvolver um código para que isto ocorra, se alguém souber e puder ajudar, agradeço. Estou realmente precisando.
    • By xdxddxd
      Estou fazendo um aplicação web usando o delphi intraweb, eu estava tentando fazer um menu global para que seja alicado em todos os forms, consegui puxar o layout normalmente, porem os botões do formulario o qual esse layout pertence não vieram juntos.
      agradeço desde já pela sua atenção, se tiver um link no qual eu posso estudar isso eu ja agradeço.
    • By Marcos melo sales
      Eu tenho um aplicativo cliente> servidor, onde são estabelecidas conexões usando componentes Socket ( TClientSocketdo cliente se conecta ao TServerSocketservidor). Agora, desejo que os clientes se conectem primeiro a um terceiro aplicativo (um tipo de "ponte de conexão" ou "repetidor") que será executado em um Windows VPS e deve direcionar essas conexões dos clientes para o aplicativo do servidor em execução no servidor pc. Exemplo: 

       
       
      Provavelmente (não tenho certeza) esse tipo de "ponte de conexão" ou "repetidor" que será executado no VPS pode ser semelhante ao aplicativo de servidor que será executado no servidor pc, mas não sei como conectar e fazer o gerenciamento da conexão / desconexão e o envio / recebimento de dados entre esses três aplicativos. Alguém poderia me dizer como isso pode ser feito de uma maneira simples e, se possível, também fornecer um exemplo de código sobre isso?
      Abaixo segue o código do cliente e servidor (servidor que será executado no servidor pc), isso é tudo o que tenho até agora.
       
       
       
      Cliente:
      uses ScktComp; type TForm1 = class(TForm) ClientSocket1: TClientSocket; Timer1: TTimer; Label1: TLabel; procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure Timer1Timer(Sender: TObject); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'CONNECTED'; end; procedure TForm1.ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'CONNECTING...'; end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Label1.Caption := 'DISCONNECTED'; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if not ClientSocket1.Active then ClientSocket1.Active := true; end; procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode := 0; end; procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var s: string; begin s := Socket.ReceiveText; if s = 'CMD' then Socket.SendText('Hello, here is Client: ' + Socket.LocalHost + '!'); end; end. Servidor:
      uses ScktComp; type TForm1 = class(TForm) ListView1: TListView; ServerSocket1: TServerSocket; PopupMenu1: TPopupMenu; SON: TMenuItem; SOFF: TMenuItem; SCMD: TMenuItem; procedure ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure SONClick(Sender: TObject); procedure SOFFClick(Sender: TObject); procedure SCMDClick(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; Socket: TCustomWinSocket); var Item: TListItem; begin Item := ListView1.Items.Add; Item.Caption := IntTostr(Socket.Handle); Item.SubItems.Add(Socket.RemoteAddress); Item.SubItems.Add(Socket.RemoteHost); Item.Data := Socket.Data; end; procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); var Item: TListItem; begin Item := ListView1.FindCaption(0, inttostr(Socket.Handle), false, true, false); if Item <> nil then Item.Delete; end; procedure TForm1.ServerSocket1ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ErrorCode := 0; end; procedure TForm1.SONClick(Sender: TObject); begin ServerSocket1.Active := true; end; procedure TForm1.SOFFClick(Sender: TObject); begin ServerSocket1.Active := false; end; procedure TForm1.SCMDClick(Sender: TObject); begin if ListView1.Selected = nil then exit; ServerSocket1.Socket.Connections[ListView1.ItemIndex].SendText('CMD'); end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var s: string; begin s := Socket.ReceiveText; if s <> '' then ShowMessage(s); end; end.  
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.