DIRECTION (2) Ceci est une VBA, exécutez à partir de la base de données Access:
Sub InsertRecs()
Set db = CurrentDb
'DSN=Suitable system DSN for MySQL
'Then, depending on your set up, you can incude:
'Database=DBName;
'Trusted_Connection=Yes;
'NameOfMySQLTable
strSQL = "INSERT INTO [ODBC;DSN=baywotch;].tblAuction Select * FROM tblAuction;"
db.Execute strSQL, dbFailOnError
End Sub
C'est la même chose, mais dans VBScript, en utilisant DAO:
Dim objEngine
Dim objWS
Dim objDB
Dim db: db = "C:\Docs\baywotch.db5"
Set objEngine = wscript.CreateObject("DAO.DBEngine.36")
Set objDB = objEngine.OpenDatabase(db)
objDB.Execute "INSERT INTO [ODBC;DSN=baywotch].[tblAuction] SELECT * FROM tblAuction;"
DIRECTION (1)
Je suggère une direction complètement différente, et est de laisser MySQL faire le travail:
MySQL Migration Toolkit
Je l'ai testé ce contre votre base de données, et il semble importer correctement, ne prend que quelques minutes, et va générer toutes sortes de scripts réutilisables et ainsi de suite.
Si vous rencontrez des problèmes avec l'installation de MySQL, vous pouvez lire: 9.1.4. Connection Character Sets and Collations
DIRection (0)
REWRITE (2)
'========================================================================'
'
' FROM: AnthonyWJones, see post '
'
'========================================================================'
Dim db: db = "C:\Docs\baywotch.db5"
Dim exportDir: exportDir = "C:\Docs\" '" SO prettify does not do VB well
Dim exportFile: exportFile=NewFileName(exportDir)
Dim cn: Set cn = CreateObject("ADODB.Connection")
cn.Open _
"Provider = Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & db
cn.Execute "SELECT * INTO [text;HDR=Yes;Database=" & exportDir & _
";CharacterSet=65001]." & exportFile & " FROM tblAuction"
'Export file
'========================================================================'
'Support functions
Function NewFileName(ExportPath)
Dim fs
Dim NewFileTemp
Set fs = CreateObject("Scripting.FileSystemObject")
NewFileTemp = "CSV" & Year(Date) _
& Right("00" & Month(Date),2) & Right("00" & Day(Date) ,2) & ".csv"
a = fs.FileExists(ExportPath & NewFileTemp)
i = 1
Do While a
NewFileTemp = "CSV" & Year(Date) _
& Right("00" & Month(Date),2) & Right("00" & Day(Date) ,2) & "_" & i & ".csv"
a = fs.FileExists(ExportPath & NewFileTemp)
i = i + 1
If i > 9 Then
'Nine seems enough times per day to be
'exporting a table
a = True
MsgBox "Too many attempts"
WScript.Quit
End If
Loop
NewFileName = NewFileTemp
End Function
Souhaitez-vous exporter toutes les tables utilisateur de la base de données ou uniquement des tables spécifiques? Cela pourrait aider si l'objectif de la tâche était connu. – AnthonyWJones
Une table entière, sélectionnez simplement * dans le tableau. –
J'ai lu quelque chose comme ça et je me suis immédiatement demandé * pourquoi * vous en avez besoin. Ma conjecture est que votre destination pour le fichier texte pourrait avoir de meilleures solutions à ce problème. –