shirley8
Messages postés3Date d'inscriptionlundi 9 novembre 2009StatutMembreDernière intervention 9 novembre 2009 9 nov. 2009 à 04:37
Avec Emicsoft Vidéo Convertisseur pour Mac, Vous avez faitez conversion du format vidéo en WAV, MP3, etc sans problème. Essayiez autre programme pour aider!!Emicsoft AVI Converter for Mac, Emicsoft FLV Converter for Mac.
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 26 déc. 2007 à 14:23
Naturellement, il n'est pas nécessaire dénumérer toutes les propriétés des deux principales méthodes appelées. On obtient donc, pour la macro précédente, la simplification suivante de l'écriture :
Sub DecodeOEM()
Dim sNames() As String, i As Integer
'Emplacement du répertoire à traiter
ChangeFileOpenDirectory "\\srvinfo\Test"
'Liste CSV des fichiers du réperoire spécifié
sNames = Split("test.csv;test.txt", ";")
For i = LBound(sNames) To UBound(sNames)
Documents.Open FileName:=sNames(i), Encoding:=850
With ActiveDocument
.SaveAs FileName:=sNames(i), Encoding:=1252
.Close
End With
Next i
End Sub
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 26 déc. 2007 à 11:43
Variante de la précédente macro à choisir si tous vos fichiers appartiennent au même répertoire.
Sub DecodeOEM()
Dim sNames() As String, i As Integer
'Emplacement du répertoire à traiter
ChangeFileOpenDirectory "D:\Test"
'Liste CSV des fichiers du réperoire spécifié
sNames = Split("test.csv;test.txt", ";")
For i = LBound(sNames) To UBound(sNames)
Documents.Open FileName:=sNames(i), ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=850
With ActiveDocument
.SaveAs FileName:=sNames(i), FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
.Close
End With
Next i
End Sub
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 21 déc. 2007 à 17:34
Annule et remplace la macro du commentaire précédent.
Sub Decode()
' Convertir un fichier OEM en ANSI
Call OpenFile("D:\Test", "Test.csv", 850)
Call CloseFile("D:\Test", "Test.csv", 1252)
End Sub
Sub OpenFile(sPath As String, sFileName As String, iEncoding As Integer)
'Ouvrir un fichier codé
ChangeFileOpenDirectory sPath
Documents.Open FileName:=sFileName, ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=iEncoding
End Sub
Sub CloseFile(sPath As String, sFileName As String, iEncoding As Integer)
'Enregistrer et fermer un fichier codé
ChangeFileOpenDirectory sPath
With ActiveDocument
.SaveAs FileName:=sFileName, FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=iEncoding, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
.Close
End With
End Sub
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 21 déc. 2007 à 16:49
Pour ceux qui souhaitent automatiser la conversion sous Word (Macro) :
Sub Decode()
' Convertir un fichier OEM en ANSI
Call OpenFile("D:\Test", "Test_OEM.csv", 850)
Call SaveFile("D:\Test", "Test_ANSI.csv", 1252)
End Sub
Sub OpenFile(sPath As String, sFileName As String, iEncoding As Integer)
'Ouvrir un fichier codé
ChangeFileOpenDirectory sPath
Documents.Open FileName:=sFileName, ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=iEncoding
End Sub
Sub SaveFile(sPath As String, sFileName As String, iEncoding As Integer)
'Fermer un fichier codé
ChangeFileOpenDirectory sPath
ActiveDocument.SaveAs FileName:=sFileName, FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
End Sub
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 18 déc. 2007 à 11:49
Le lien ci-dessous fournira de plus amples informations sur le codage OEM et ANSI à ceux qui le souhaitent.
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 14 déc. 2007 à 10:15
Incroyable... plus de 900 connexions en moins de quatre semaines et personne n'a relevé la complication que cette source peut poser.
Nos GM seraient devenus aussi distraits ? Pourtant cette difficulté est souvent évoquée dans les forums de discussion.
Je vous laisse le week-end pour identifier ce problème avant d'apporter une explication et une solution à celui-ci.
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 7 déc. 2007 à 15:04
Mille excuses pour les fautes de frappe (orthographe du commentaire précédent) une tendinite a complètement bloqué mon bras droit. Au-delà, n'hésitez pas à exprimer votre opinion sur la solution d'export proposée.
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 6 déc. 2007 à 11:44
Contraint d'effectuer une migration de données vers une application antédiluvienne, j'ai imaginé cette solution simple et efficace. Compte tenu de l'intérêt actuelle des lecteurs (meilleur popularité du mois) il semblerait que l'objection sécuritaire de DNT91 ne soit pas vraiment un obstacle.
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 30 nov. 2007 à 15:30
A cause de ses possibilités étendues, ton objection est fondée. Cette commande doit être réservée à un administrateur ou à des utilisateurs avertis.
dnt91
Messages postés48Date d'inscriptionmercredi 28 avril 2004StatutMembreDernière intervention30 novembre 2007 30 nov. 2007 à 15:21
Pour ma part, compte tenu de la puissance de la procédure étendue xp_cmdshell, j'évite d'activer cette fonctionnalité et donc d'utiliser la procédure étendue xp_cmdshell ! je le faisais beaucoup avant, notamment lorsque je développais des applications qui utilisaient des images; je créais des dossiers pour stocker mes images avec la procédure xp_cmdshell, ensuite j'y stockais mes images et je ne gardais que les chemins dans ma base de données pour optimiser la vitesse d'exécution des requetes sur mes images ! Cependant, avec cette procédure, on peut quasiment tout faire au niveau du système, et donc son utilisation n'est réservée qu'à des utilisateurs avertis ! Cependant, on est rarement tout seul à travailler sur un serveur, et on ne connait pas forcément le niveau des autres et donc ce qu'ils peuvent faire avec...
Quoi qu'il en soit, très bon article.
Pour me faire un peu de pub, je suis en train d'écire un nouvel article sur les différentes possiblités qui sont offertes aux développeurs de bases de données (Création de bases , de tables, de vues, de procédures stockées, de délcencheurs, de fonctions, de règles, de types alias, etc...), avis aux amateurs !
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 26 nov. 2007 à 14:01
Vous ne seriez pas un peu paresseux l'ami ? OK, voila un exemple très concret sur la base AdventureWorks.
-- Nom et emplacement du fichier d'export csv
SET @FullPath='D:\Test\HR_Departement.csv'
DECLARE HR_DPT_CURSEUR CURSOR FOR
SELECT TOP (20) DepartmentID, Name, GroupName, ModifiedDate FROM HumanResources.Department
OPEN HR_DPT_CURSEUR
FETCH NEXT FROM HR_DPT_CURSEUR INTO @DepartementID, @Name, @Groupname, @ModifiedDate
WHILE (@@FETCH_STATUS = 0) BEGIN
SET @Txt = CONVERT(VARCHAR(11), ISNULL(@DepartementID, '')) + ';'
+ ISNULL(@Name, '') + ';'
+ ISNULL(@GroupName, '') + ';'
+ ISNULL(CONVERT(VARCHAR(10), @ModifiedDate, 103), '')
-- Ecrire et exécuter la commande d'ajout de contenu
SET @Cmd = 'Echo ' + @Txt + ' >> ' + @FullPath;
EXEC xp_cmdshell @Cmd, NO_OUTPUT;
FETCH NEXT FROM HR_DPT_CURSEUR INTO @DepartementID, @Name, @Groupname, @ModifiedDate
END -- END WHILE
CLOSE HR_DPT_CURSEUR
DEALLOCATE HR_DPT_CURSEUR
cs_bir
Messages postés9Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention15 mars 2009 26 nov. 2007 à 11:30
bonjour, pas mal ton code , mais si tu pouvez donner un exemple avec une requête sql en paramètre ce serai mieux
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 26 nov. 2007 à 10:53
Script d'activation de la commande shell :
EXEC sp_configure 'xp_cmdshell' , 1
GO
-- Appliquer la modification de configuration
RECONFIGURE
GO
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 26 nov. 2007 à 10:23
L'export SQL vers un fichier CSV n'est qu'un exemple parmi tant de possibilités qu’il est tout à fait regrettable à mon avis que les commandes DOS ne soient pas davantage utilisées dans les scripts SQL.
Sinon, pourquoi faire simple quand on peut faire compliqué ?
Alighieri76
Messages postés8Date d'inscriptionlundi 27 novembre 2006StatutMembreDernière intervention23 novembre 2007 23 nov. 2007 à 14:32
Merci beaucoup pour cette source.Je ve étudier ca de prés. Je te met 8/10 car ca peut être appronfondie
FENETRES
Messages postés196Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention14 avril 2009 22 nov. 2007 à 17:42
Si l’exemple parait simple, sachez que grâce à cette solution, nous avons, en imbriquant des curseurs, construit une seule procédure d’export pour plus de 50 fichiers !
9 nov. 2009 à 04:37
http://www.emicsoft.com/video-converter-for-mac.html
http://www.emicsoft.com/avi-converter-for-mac.html
http://www.emicsoft.com/flv-converter-for-mac.html
5 févr. 2009 à 10:14
28 déc. 2007 à 14:10
Les férus de programmation trouveront les tables de conversion sur le site VB France à cette adresse :
http://www.vbfrance.com/codes/CONVERTION-TABLE-CARACTERES-EBCDIC-ASCII-OEM-ANSI_4998.aspx
26 déc. 2007 à 14:23
Sub DecodeOEM()
Dim sNames() As String, i As Integer
'Emplacement du répertoire à traiter
ChangeFileOpenDirectory "\\srvinfo\Test"
'Liste CSV des fichiers du réperoire spécifié
sNames = Split("test.csv;test.txt", ";")
For i = LBound(sNames) To UBound(sNames)
Documents.Open FileName:=sNames(i), Encoding:=850
With ActiveDocument
.SaveAs FileName:=sNames(i), Encoding:=1252
.Close
End With
Next i
End Sub
26 déc. 2007 à 11:43
Sub DecodeOEM()
Dim sNames() As String, i As Integer
'Emplacement du répertoire à traiter
ChangeFileOpenDirectory "D:\Test"
'Liste CSV des fichiers du réperoire spécifié
sNames = Split("test.csv;test.txt", ";")
For i = LBound(sNames) To UBound(sNames)
Documents.Open FileName:=sNames(i), ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=850
With ActiveDocument
.SaveAs FileName:=sNames(i), FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
.Close
End With
Next i
End Sub
21 déc. 2007 à 17:34
Sub Decode()
' Convertir un fichier OEM en ANSI
Call OpenFile("D:\Test", "Test.csv", 850)
Call CloseFile("D:\Test", "Test.csv", 1252)
End Sub
Sub OpenFile(sPath As String, sFileName As String, iEncoding As Integer)
'Ouvrir un fichier codé
ChangeFileOpenDirectory sPath
Documents.Open FileName:=sFileName, ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=iEncoding
End Sub
Sub CloseFile(sPath As String, sFileName As String, iEncoding As Integer)
'Enregistrer et fermer un fichier codé
ChangeFileOpenDirectory sPath
With ActiveDocument
.SaveAs FileName:=sFileName, FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=iEncoding, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
.Close
End With
End Sub
21 déc. 2007 à 16:49
Sub Decode()
' Convertir un fichier OEM en ANSI
Call OpenFile("D:\Test", "Test_OEM.csv", 850)
Call SaveFile("D:\Test", "Test_ANSI.csv", 1252)
End Sub
Sub OpenFile(sPath As String, sFileName As String, iEncoding As Integer)
'Ouvrir un fichier codé
ChangeFileOpenDirectory sPath
Documents.Open FileName:=sFileName, ConfirmConversions:=False, ReadOnly:=False, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=iEncoding
End Sub
Sub SaveFile(sPath As String, sFileName As String, iEncoding As Integer)
'Fermer un fichier codé
ChangeFileOpenDirectory sPath
ActiveDocument.SaveAs FileName:=sFileName, FileFormat:=wdFormatText, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, Encoding:=1252, InsertLineBreaks:=False, _
AllowSubstitutions:=False, LineEnding:=wdCRLF
End Sub
18 déc. 2007 à 11:49
http://fspsa.free.fr/ansi.htm
14 déc. 2007 à 10:15
Nos GM seraient devenus aussi distraits ? Pourtant cette difficulté est souvent évoquée dans les forums de discussion.
Je vous laisse le week-end pour identifier ce problème avant d'apporter une explication et une solution à celui-ci.
7 déc. 2007 à 15:04
6 déc. 2007 à 11:44
30 nov. 2007 à 15:30
30 nov. 2007 à 15:21
Tout d'abord merci pour ton commentaire et ta note pour mon article (http://www.sqlfr.com/tutoriaux/METHODES-TRANSFERT-DONNEES-AVEC-SQL-SERVER-2005_677.aspx).
Pour ma part, compte tenu de la puissance de la procédure étendue xp_cmdshell, j'évite d'activer cette fonctionnalité et donc d'utiliser la procédure étendue xp_cmdshell ! je le faisais beaucoup avant, notamment lorsque je développais des applications qui utilisaient des images; je créais des dossiers pour stocker mes images avec la procédure xp_cmdshell, ensuite j'y stockais mes images et je ne gardais que les chemins dans ma base de données pour optimiser la vitesse d'exécution des requetes sur mes images ! Cependant, avec cette procédure, on peut quasiment tout faire au niveau du système, et donc son utilisation n'est réservée qu'à des utilisateurs avertis ! Cependant, on est rarement tout seul à travailler sur un serveur, et on ne connait pas forcément le niveau des autres et donc ce qu'ils peuvent faire avec...
Quoi qu'il en soit, très bon article.
Pour me faire un peu de pub, je suis en train d'écire un nouvel article sur les différentes possiblités qui sont offertes aux développeurs de bases de données (Création de bases , de tables, de vues, de procédures stockées, de délcencheurs, de fonctions, de règles, de types alias, etc...), avis aux amateurs !
26 nov. 2007 à 14:01
-- Variables de traitement d'export
DECLARE @FullPath Varchar(128), @Txt VARCHAR (7744), @Cmd varchar(8000)
-- Variables de données
DECLARE @DepartementID smallint, @Name varchar(50), @Groupname varchar(50), @ModifiedDate datetime
-- Nom et emplacement du fichier d'export csv
SET @FullPath='D:\Test\HR_Departement.csv'
DECLARE HR_DPT_CURSEUR CURSOR FOR
SELECT TOP (20) DepartmentID, Name, GroupName, ModifiedDate FROM HumanResources.Department
OPEN HR_DPT_CURSEUR
FETCH NEXT FROM HR_DPT_CURSEUR INTO @DepartementID, @Name, @Groupname, @ModifiedDate
WHILE (@@FETCH_STATUS = 0) BEGIN
SET @Txt = CONVERT(VARCHAR(11), ISNULL(@DepartementID, '')) + ';'
+ ISNULL(@Name, '') + ';'
+ ISNULL(@GroupName, '') + ';'
+ ISNULL(CONVERT(VARCHAR(10), @ModifiedDate, 103), '')
-- Ecrire et exécuter la commande d'ajout de contenu
SET @Cmd = 'Echo ' + @Txt + ' >> ' + @FullPath;
EXEC xp_cmdshell @Cmd, NO_OUTPUT;
FETCH NEXT FROM HR_DPT_CURSEUR INTO @DepartementID, @Name, @Groupname, @ModifiedDate
END -- END WHILE
CLOSE HR_DPT_CURSEUR
DEALLOCATE HR_DPT_CURSEUR
26 nov. 2007 à 11:30
26 nov. 2007 à 10:53
EXEC sp_configure 'xp_cmdshell' , 1
GO
-- Appliquer la modification de configuration
RECONFIGURE
GO
26 nov. 2007 à 10:23
Sinon, pourquoi faire simple quand on peut faire compliqué ?
23 nov. 2007 à 14:32
22 nov. 2007 à 17:42