Bonjour, je lis un gros fichier texte (10 mo et environ=20
30.000 lignes). A plusiuers lignes correspond un=20
enregistrement (au total 2000 enregistrements et la table=20
fait 1,2 Go) dans sql serveur dont deux zones en ntext.=20
Les temps de traitement sont longs et m=EAme de plus en plus=20
longs au fur et =E0 mesure que je traite le fichier. Existe=20
t il une m=E9thode pour traiter des gros volumes ?
merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand =3D New SqlCommand("INSERT INTO [L.....
nwindConn.Open()
det.ExecuteNonQuery()
det.Dispose()
nwindConn.Close()
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
Utiliser BULK INSERT.
A +
tinux a écrit:
Bonjour, je lis un gros fichier texte (10 mo et environ 30.000 lignes). A plusiuers lignes correspond un enregistrement (au total 2000 enregistrements et la table fait 1,2 Go) dans sql serveur dont deux zones en ntext. Les temps de traitement sont longs et même de plus en plus longs au fur et à mesure que je traite le fichier. Existe t il une méthode pour traiter des gros volumes ? merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L..... nwindConn.Open() det.ExecuteNonQuery() det.Dispose() nwindConn.Close()
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Utiliser BULK INSERT.
A +
tinux a écrit:
Bonjour, je lis un gros fichier texte (10 mo et environ
30.000 lignes). A plusiuers lignes correspond un
enregistrement (au total 2000 enregistrements et la table
fait 1,2 Go) dans sql serveur dont deux zones en ntext.
Les temps de traitement sont longs et même de plus en plus
longs au fur et à mesure que je traite le fichier. Existe
t il une méthode pour traiter des gros volumes ?
merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L.....
nwindConn.Open()
det.ExecuteNonQuery()
det.Dispose()
nwindConn.Close()
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Bonjour, je lis un gros fichier texte (10 mo et environ 30.000 lignes). A plusiuers lignes correspond un enregistrement (au total 2000 enregistrements et la table fait 1,2 Go) dans sql serveur dont deux zones en ntext. Les temps de traitement sont longs et même de plus en plus longs au fur et à mesure que je traite le fichier. Existe t il une méthode pour traiter des gros volumes ? merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L..... nwindConn.Open() det.ExecuteNonQuery() det.Dispose() nwindConn.Close()
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Sylvain Lafontaine
Utilisez des paramètres et ré-utilisez le même object SqlCommand ou arrangez-vous pour ouvrir et fermer votre connection une seule fois - au début et à la fin - tout en évitant d'avoir à appeler Dispose() à chaque fois.
Le fait que cela prenne de plus en plus de temps indique que vous avez peut-être également un problème d'index au niveau de la base de données.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC
"tinux" wrote in message news:047801c53ea9$ac35a880$ Bonjour, je lis un gros fichier texte (10 mo et environ 30.000 lignes). A plusiuers lignes correspond un enregistrement (au total 2000 enregistrements et la table fait 1,2 Go) dans sql serveur dont deux zones en ntext. Les temps de traitement sont longs et même de plus en plus longs au fur et à mesure que je traite le fichier. Existe t il une méthode pour traiter des gros volumes ? merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L..... nwindConn.Open() det.ExecuteNonQuery() det.Dispose() nwindConn.Close()
Utilisez des paramètres et ré-utilisez le même object SqlCommand ou
arrangez-vous pour ouvrir et fermer votre connection une seule fois - au
début et à la fin - tout en évitant d'avoir à appeler Dispose() à chaque
fois.
Le fait que cela prenne de plus en plus de temps indique que vous avez
peut-être également un problème d'index au niveau de la base de données.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
"tinux" <anonymous@discussions.microsoft.com> wrote in message
news:047801c53ea9$ac35a880$a501280a@phx.gbl...
Bonjour, je lis un gros fichier texte (10 mo et environ
30.000 lignes). A plusiuers lignes correspond un
enregistrement (au total 2000 enregistrements et la table
fait 1,2 Go) dans sql serveur dont deux zones en ntext.
Les temps de traitement sont longs et même de plus en plus
longs au fur et à mesure que je traite le fichier. Existe
t il une méthode pour traiter des gros volumes ?
merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L.....
nwindConn.Open()
det.ExecuteNonQuery()
det.Dispose()
nwindConn.Close()
Utilisez des paramètres et ré-utilisez le même object SqlCommand ou arrangez-vous pour ouvrir et fermer votre connection une seule fois - au début et à la fin - tout en évitant d'avoir à appeler Dispose() à chaque fois.
Le fait que cela prenne de plus en plus de temps indique que vous avez peut-être également un problème d'index au niveau de la base de données.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC
"tinux" wrote in message news:047801c53ea9$ac35a880$ Bonjour, je lis un gros fichier texte (10 mo et environ 30.000 lignes). A plusiuers lignes correspond un enregistrement (au total 2000 enregistrements et la table fait 1,2 Go) dans sql serveur dont deux zones en ntext. Les temps de traitement sont longs et même de plus en plus longs au fur et à mesure que je traite le fichier. Existe t il une méthode pour traiter des gros volumes ? merci
nb : j'utilise pour chaque add d'un enregistrement
Dim det As SqlCommand = New SqlCommand("INSERT INTO [L..... nwindConn.Open() det.ExecuteNonQuery() det.Dispose() nwindConn.Close()