PDA

Ver la Versión Completa : csv a sql server


calco_hugo
06-08-2010, 18:15:04
ante todo muy buen dia a todos/as, tengo una consulta, como se puede agregar a una base de datos sql (mssql7) un archivo csv (delimitado con tab), o sea, tengo una base ya armada en sql y todos los dias me pasan un csv y quisiera desde una aplicacion delphi (delphi 7) agrege los registros al sql.
desde ya gracias y espero que se haya entendido
hugo

ContraVeneno
06-08-2010, 18:47:46
la herramienta "importar y exportar datos" de sql server, ¿no te sirve?

calco_hugo
06-08-2010, 19:27:02
quiero que lo hagan desde delphi, si no tendria que hacerlo yo.
hugo

afunez2007
06-08-2010, 21:11:41
eso se puede hacer facilmente con Ado, conectas la pagina de excel y la base de sql server, yo inclusive he conectado sql atraves de bde y excel con ado y he importado datos desde excel hasta sql.

Para crear la conexion ado a excel utiliza una TAdoConnection con la siguiente connectio string:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TuPrograma\TuArchivo.csv;Extended Properties=Excel 8.0;Persist Security Info=False


Luego puedes utilizar un TAdoDataset para utilizar esa conexion y sacar los datos origen desde alli, de alli en adelante es todo transparente

Saludos

afunez2007
06-08-2010, 21:20:30
eso se puede hacer facilmente con Ado, conectas la pagina de excel y la base de sql server, yo inclusive he conectado sql atraves de bde y excel con ado y he importado datos desde excel hasta sql.

Para crear la conexion ado a excel utiliza una TAdoConnection con la siguiente connectio string:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TuPrograma\TuArchivo.csv;Extended Properties=Excel 8.0;Persist Security Info=False


Luego puedes utilizar un TAdoDataset para utilizar esa conexion y sacar los datos origen desde alli, de alli en adelante es todo transparente

Saludos

afunez2007
06-08-2010, 21:21:22
eso se puede hacer facilmente con Ado, conectas la pagina de excel y la base de sql server, yo inclusive he conectado sql atraves de bde y excel con ado y he importado datos desde excel hasta sql.

Para crear la conexion ado a excel utiliza una TAdoConnection con la siguiente connectio string:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TuPrograma\TuArchivo.csv;Extended Properties=Excel 8.0;Persist Security Info=False
Luego puedes utilizar un TAdoDataset para utilizar esa conexion y sacar los datos origen desde alli, de alli en adelante es todo transparente

Saludos

perdon se me fue otra vez la misma respuesta por estar dando hacia atras y adelante en el navegador

afunez2007
06-08-2010, 21:56:57
eso se puede hacer facilmente con Ado, conectas la pagina de excel y la base de sql server, yo inclusive he conectado sql atraves de bde y excel con ado y he importado datos desde excel hasta sql.

Para crear la conexion ado a excel utiliza una TAdoConnection con la siguiente connectio string:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TuPrograma\TuArchivo.csv;Extended Properties=Excel 8.0;Persist Security Info=False
Luego puedes utilizar un TAdoDataset para utilizar esa conexion y sacar los datos origen desde alli, de alli en adelante es todo transparente

Saludos

Viendo un ejemplito que tenia por aqui acabo de ver que hice un boton para poder seleccionar el archivo

se necesita tener un opendialog


procedure TfrmTblxEmpImport.btn4Click(Sender: TObject);
begin
IF dlgOpen1.Execute then
begin
edt1.Text:=dlgOpen1.FileName;
con1.Connected:=False;
ds2.Active:=False;
con1.ConnectionString:=AnsiReplaceStr(con1.ConnectionString, 'Data Source=C:\TuPrograma\TuArchivo.csv', 'Data Source='+EDT1.Text);
con1.Connected:=True;
ds2.Active:=True;
end;
end;


No olvides de incluir en las uses StrUtils, para que funcione el AnsiReplaceStr

Saludos