Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Текстовый файл в БД - *.dbf Добавлено: 09.06.04 18:05  

Автор вопроса:  chishin

Есть текстовый файл > 50 Mб со строками фиксированной длины. Необходимо загнать его в таблицу dbf.

Сейчас делаю так:

Sub formi_baz(sPUT As String, sBAZ As String)
Dim s1 As String
Dim pu As DAO.Database
Dim rpu As DAO.Recordset
Set pu = DAO.OpenDatabase(App.Path & "\temp\", False, False, "dbase IV")
Set rpu = pu.OpenRecordset(sBAZ)
Open sPUT For Input As 1
    Do While Not EOF(1)
        Line Input #1, s1
            rpu.AddNew
                rpu.Fields(0) = Trim$(Mid$(s1, 1, 20)) 'Номер А
                rpu.Fields(1) = Mid$(s1, 21, 12) 'Дата-время
                rpu.Fields(2) = Val(Mid$(s1, 33, 6)) ' Длит
                rpu.Fields(3) = Trim$(Mid$(s1, 39, 20)) 'Номер Б
                rpu.Fields(4) = Trim$(Mid$(s1, 59, 5)) 'АОН
                rpu.Fields(5) = Trim$(Mid$(s1, 64, 6)) 'Тр гр вх
                rpu.Fields(6) = Trim$(Mid$(s1, 70, 6)) 'Тр гр ис
                rpu.Fields(7) = Trim$(Mid$(s1, 86, 1)) ' длинные
                rpu.Fields(8) = Trim$(Mid$(s1, 87, 15)) ' Идентификатор
            rpu.Update
        End If
    Loop
Close 1
rpu.Close
Set rpu = Nothing
pu.Close
Set pu = Nothing
End Sub

Всё работает, но долго. Можно ли  ускорить?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Gloom



Вопросов: 0
Ответов: 36
 Профиль | | #1 Добавлено: 10.06.04 11:49

Можно создать спецификацию для текстового файла(в виде schema.ini) и открывать текст как таблицу, а потом:

dbPath=App.Path & "\temp\"

pu.execute "SELECT * INTO [" & sBAZ & "] IN '" & dbPath & "'[dbase IV;] FROM [" & sPUT & "] IN '" & txtPath & "'[Text;]"

Ответить

Номер ответа: 2
Автор ответа:
 nap



ICQ: 121772779 

Вопросов: 0
Ответов: 42
 Профиль | | #2 Добавлено: 10.06.04 11:52
Что за странный SQL?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам