MsSqlServer x DBExpress
Srs, usando os artigos publicados na revista ClubeDelphi sobre o sistema Datacar, consegui desenvolver um ótimo sistema aqui onde trabalho, usando o Delphi7 + Dbexpress + Firebird. Agora a Empresa adquiriu um ERP que usa o banco de dados MsSqlServer. Preciso então migrar o meu sistema que usa Firebird para o novo Banco, porque vou aproveitar várias tabelas que veem do ERP integrando-as ao meu sistema. Usando o driver ODBC do Firebird e a ferramenta de Importar/Exportar dados do SqlServer, consegui importar completamente o banco em Firebird para ´dentro´ do SqlServer, fui ao sqlconnection do meu sistema e mudei o driver de conexão para mssql, o mesmo se conectou ao novo banco sem problemas. No entanto ao executar o sistema o mesmo já apresentou um erro logo no login, para resolvê-lo, retirei os campos de ´data´ do componente sqldataset responsável pela query de login, funcionou e consegui logar no sistema, mas ai quando vou abrir qualquer registro o sistema já apresenta outros erros que ai eu não consegui resolver. Um outro detalhe é que a retirada do campo Data do login foi porque o sistema apresentou diferença no tipo do campo ´era esperado Date e o campo data dentro do componente estava como SqlTimeStamp´. Eu uso data em vários módulos do sistema, logo preciso conseguir uma solução para o correto funcionamento do sistema e gostaria de contar com a ajuda do Fórum, senão terei que construir o sistema novamente. A sequencia de componentes que uso com Dbexpress é a seguinte: sqlconnection + sqldataset + datasetprovider + clientdataset + simpledataset (usado para exibir os re
Abraço a todos.
Abraço a todos.
Programalista
Curtidas 0
Respostas
Brunolspp
19/07/2007
nao precisa usar simple dataset
da uma olhada no meu link de downloads gratuitos na apostila de desenvolvimento client/server, mostra como trabalhar de forma bidirecional e mto rapido somente com clientdataset que é o idela.
o simpledataset nao é mais evoluido, ele foi mantido por compatibilidade e a indicacao da empresa, desde o Delphi 7 é utilizar o ClientDataSet.
no mesmo link tem exemplos de DBX com SQL Server
da uma olhada no meu link de downloads gratuitos na apostila de desenvolvimento client/server, mostra como trabalhar de forma bidirecional e mto rapido somente com clientdataset que é o idela.
o simpledataset nao é mais evoluido, ele foi mantido por compatibilidade e a indicacao da empresa, desde o Delphi 7 é utilizar o ClientDataSet.
no mesmo link tem exemplos de DBX com SQL Server
GOSTEI 0
Programalista
19/07/2007
Caro Bruno, obrigado pela atenção. Vou ver o material que vc sugeriu, mas o detalhe é que uso Delphi7 e seguindo a sua apostila vi que uso os componentes como estão lá e mesmo assim não estou tendo progresso usando o DBx com SqlServer. Mas com certeza tem solução. Vou quebrar um pouco mais a cabeça.
Abraço,
Programalista.
Abraço,
Programalista.
GOSTEI 0
Brunolspp
19/07/2007
uma boa opcao e usar ADO.
siga a apostila substituindo os componetes sqlconnection por adoconnection e os sqldataset por adoquery
tb funciona.
siga a apostila substituindo os componetes sqlconnection por adoconnection e os sqldataset por adoquery
tb funciona.
GOSTEI 0
Rbmenezes6
19/07/2007
acontece o seguinste erro
unable to load dbxasa30.dll errorcode 126 it may be missing from the system path
eu estou usado o delphi 2007
unable to load dbxasa30.dll errorcode 126 it may be missing from the system path
eu estou usado o delphi 2007
nao precisa usar simple dataset
da uma olhada no meu link de downloads gratuitos na apostila de desenvolvimento client/server, mostra como trabalhar de forma bidirecional e mto rapido somente com clientdataset que é o idela.
o simpledataset nao é mais evoluido, ele foi mantido por compatibilidade e a indicacao da empresa, desde o Delphi 7 é utilizar o ClientDataSet.
no mesmo link tem exemplos de DBX com SQL Server
GOSTEI 0
Brunolspp
19/07/2007
coloca esta dll no system32 do windows
no meu link de dwonloads tem exemplos disso.
no meu link de dwonloads tem exemplos disso.
GOSTEI 0
Rbmenezes6
19/07/2007
eu coloque a dll no system 32 e o erro continuou
unable to load dbxmss30.dll (errocode 193) it may be missing from the system
unable to load dbxmss30.dll (errocode 193) it may be missing from the system
coloca esta dll no system32 do windows
no meu link de dwonloads tem exemplos disso.
GOSTEI 0
Emerson Nascimento
19/07/2007
Srs, usando os artigos publicados na revista ClubeDelphi sobre o sistema Datacar, consegui desenvolver um ótimo sistema aqui onde trabalho, usando o Delphi7 + Dbexpress + Firebird. Agora a Empresa adquiriu um ERP que usa o banco de dados MsSqlServer. Preciso então migrar o meu sistema que usa Firebird para o novo Banco, porque vou aproveitar várias tabelas que veem do ERP integrando-as ao meu sistema. Usando o driver ODBC do Firebird e a ferramenta de Importar/Exportar dados do SqlServer, consegui importar completamente o banco em Firebird para ´dentro´ do SqlServer, fui ao sqlconnection do meu sistema e mudei o driver de conexão para mssql, o mesmo se conectou ao novo banco sem problemas. No entanto ao executar o sistema o mesmo já apresentou um erro logo no login, para resolvê-lo, retirei os campos de ´data´ do componente sqldataset responsável pela query de login, funcionou e consegui logar no sistema, mas ai quando vou abrir qualquer registro o sistema já apresenta outros erros que ai eu não consegui resolver. Um outro detalhe é que a retirada do campo Data do login foi porque o sistema apresentou diferença no tipo do campo ´era esperado Date e o campo data dentro do componente estava como SqlTimeStamp´. Eu uso data em vários módulos do sistema, logo preciso conseguir uma solução para o correto funcionamento do sistema e gostaria de contar com a ajuda do Fórum, senão terei que construir o sistema novamente. A sequencia de componentes que uso com Dbexpress é a seguinte: sqlconnection + sqldataset + datasetprovider + clientdataset + simp
Abraço a todos.
como disse o Bruno, se você usa clientdataset não precisa do simpledataset, pois o clientdataset já é bidirecional.
o erro que você está recebendo é por conta dos campos tipo DATE do SQL Server. eu tive o mesmo problema e por isso hoje raramente persisto os campos nos meus datasets.
para você resolver seu problema com o menor impacto possível, basta abrir os forms em modo texto e trocar todas as referências de TDateField/TDateTimeField por TSQLTimeStampField
GOSTEI 0
Emerson Nascimento
19/07/2007
ledataset (usado para exibir os registros de forma bidirecional, onde posso navegar pelos registros na tela de pesquisa e passar o código do registro via parâmetro para que possa ser aberto pelo clientdataset). Se tiver algum outro procedimento a ser usado para que o sistema funcione com SqlServer, gostaria de contar com o auxílio de vocês. Ufa!!!
GOSTEI 0
Rbmenezes6
19/07/2007
a minha dbxmss30.dll e com problemas onde eu posso baixar ela
ou se vc tiver mande para mim
ou se vc tiver mande para mim
eu coloque a dll no system 32 e o erro continuou
unable to load dbxmss30.dll (errocode 193) it may be missing from the system
[quote:ad3b507899=´BrunoLSPP´]coloca esta dll no system32 do windows
no meu link de dwonloads tem exemplos disso.
[/quote:ad3b507899]GOSTEI 0
Vitor Alcantara
19/07/2007
para você resolver seu problema com o menor impacto possível, basta abrir os forms em modo texto e trocar todas as referências de TDateField/TDateTimeField por TSQLTimeStampField
Para que desse certo você teria qua alterar no arquivo de extensão DFM e não só nos arquivos de extensão PAS dos seus forms os campos TDateField/TDateTimeField por TSQLTimeStampField .
Para ganhar tempo você poderia abrir o arquivo por um editor de texto como o Word e colocar para localizar e subistituir todas as expressões TDateField/TDateTimeField por TSQLTimeStampField.
Uma vez me ocorreu isso só que no meu caso os campos eram do tipo TSmallInteger e eu subistitui pelo TInteger.
Ps: Lembra de fazer uma cópia dos teus fontes antes para não ter problema depois.
GOSTEI 0
Emerson Nascimento
19/07/2007
[quote:33ce03b124]para você resolver seu problema com o menor impacto possível, basta abrir os forms em modo texto e trocar todas as referências de TDateField/TDateTimeField por TSQLTimeStampField
Para que desse certo você teria qua alterar no arquivo de extensão DFM e não só nos arquivos de extensão PAS dos seus forms os campos TDateField/TDateTimeField por TSQLTimeStampField .
Para ganhar tempo você poderia abrir o arquivo por um editor de texto como o Word e colocar para localizar e subistituir todas as expressões TDateField/TDateTimeField por TSQLTimeStampField.
Uma vez me ocorreu isso só que no meu caso os campos eram do tipo TSmallInteger e eu subistitui pelo TInteger.
Ps: Lembra de fazer uma cópia dos teus fontes antes para não ter problema depois.[/quote:33ce03b124]
são extamente os DFM, foi isso que eu quis dizer com ´[b:33ce03b124]forms em modo texto[/b:33ce03b124]´; não falei da unit. mas isso só dá certo se os forms forem salvos em modo-texto (botão direito no form, marcar a opção [i:33ce03b124]Text DFM[/i:33ce03b124]).
GOSTEI 0
André
19/07/2007
Pessoal seguinte estou usando Sql Server 2000 e DBX do Delphi 7... Fiz minha aplicação e qdu eu ia rodar em uma maquina que não tinha delphi ele dava erro de uma DLL. Até aí tudo bem, joguei a DLL na pasta ai rodou tudo blz.
Só que as minhas telas de consulta sao umas telas simples, aperta tecla f2 e abre um formizinho de consulta.
E meu sistema funciona do seguinte modo, tipo estilo em clipper... Vamos supor digito o codigo do cliente se ele existir ele traz o cadastro pra alterar, senao ele traz o cadastro pra incluir.
Só que nessa ele da o erro, e quando eu teclo f2 pra consultar tbm ele da o msm erro de "Não enviar" tipo não é especificado o erro.
Só que se rodarmos em uma maquina que tenha instalado o delphi ele abre normal...
Alguem sabe me dizer o que seria isso ?
Abraços
Só que as minhas telas de consulta sao umas telas simples, aperta tecla f2 e abre um formizinho de consulta.
E meu sistema funciona do seguinte modo, tipo estilo em clipper... Vamos supor digito o codigo do cliente se ele existir ele traz o cadastro pra alterar, senao ele traz o cadastro pra incluir.
Só que nessa ele da o erro, e quando eu teclo f2 pra consultar tbm ele da o msm erro de "Não enviar" tipo não é especificado o erro.
Só que se rodarmos em uma maquina que tenha instalado o delphi ele abre normal...
Alguem sabe me dizer o que seria isso ?
Abraços
GOSTEI 0