Autor Zpráva
Pan_snek
Profil *
Dobrý den,
dokázal by mi něko poradit nejoptimálnější postup, jak z jednoho Excelu , kde jsou uloženy data v CZ a RU ..
vyexporotva tyto data do databze na serveru MySQL , tak aby se data zachovala ?
Joker
Profil
Pan_snek
dokázal by mi něko poradit nejoptimálnější postup
Nedokázal. "Nejoptimálnější" neexistuje, optimální = nejlepší, nic lepšího už není ;-)

Ale mohlo by fungovat třeba z Excelu uložit CSV soubor v kódování UTF-8 a pak ho do databáze importovat.
marek.tichy.dis@emai l.cz
Profil *
Sub ahoj()
'Je nutné mít inicializováno v Tools / References / Microsoft ActiveX Data Objects Library x.x

'CREATE CONNECTION OBJECT AND ASSIGN CONNECTION STRING
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection

conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=192.168.3.7;" _
& "DATABASE=test;" _
& "UID=LOGIN;" _
& "PWD=Heslo;" _
& "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384

conn.CursorLocation = adUseClient
conn.Open

'CREATE TABLE FOR SAMPLE CODE
conn.Execute "CREATE TABLE files(" _
& "file_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY," _
& "file_name VARCHAR(64) NOT NULL," _
& "file_size MEDIUMINT UNSIGNED NOT NULL," _
& "file MEDIUMBLOB NOT NULL)"

'OPEN RECORDSET FOR WRITING
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream

mystream.Type = adTypeBinary

rs.Open "SELECT * FROM files WHERE 1=0", conn, adOpenStatic, adLockOptimistic

rs.AddNew

mystream.Open
mystream.LoadFromFile "c:\myimage.gif"

rs!file_name = "myimage.gif"
rs!file_size = mystream.Size
rs!file = mystream.Read
rs.Update
mystream.Close
rs.Close

'OPEN RECORDSET TO READ BLOB
rs.Open "Select * from files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!file
mystream.SaveToFile "c:\newimage.gif", adSaveCreateOverWrite
mystream.Close
rs.Close

'OPEN RECORDSET FOR UPDATE OF BLOB COLUMN
rs.Open "Select * from files WHERE files.file_id = 1", conn, adOpenStatic, adLockOptimistic
mystream.Open
mystream.LoadFromFile "c:\updateimage.gif"
rs!file = mystream.Read
rs.Update

mystream.Close
rs.Close

'OPEN RECORDSET TO READ UPDATED IMAGE
rs.Open "Select * from files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!file
mystream.SaveToFile "c:\newupdatedimage.gif", adSaveCreateOverWrite

mystream.Close
rs.Close

conn.Execute "DROP TABLE files"
conn.Close
MsgBox "Success! Check your C:\ directory for newimage.gif and newupdatedimage.gif"
End Sub

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0