Страница: 1 |
Страница: 1 |
Вопрос: Опять DBF
Добавлено: 19.07.05 14:14
Автор вопроса: Денис | ICQ: 109593029
Может я повторясь, но кто-нибудь подскажет как соединистья с файлов dbf, и как с ним работать (запросами или перебором записей).
Если точнее выразится мне надо программно импортировать таблицу из dbf на SQL сервер. Как мне это лучше сделать?
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
Hunter2003
ICQ: 287314254
Вопросов: 14
Ответов: 72
Профиль | | #1
Добавлено: 19.07.05 15:06
Если dbf формата foxpro 2 - 2.6, то через обычный data. Если dbf формата Visual FoxPro, то только через ODBC драйвер. А как конвертировать таблицы? Так это элементарно - читаешь строку из одной и пишешь в другую....
Номер ответа: 2
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #2
Добавлено: 19.07.05 15:17
Можно по подробнее про "обычный data"?
Номер ответа: 3
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #3
Добавлено: 19.07.05 15:23
Через обычный ADO.
Так же, как к любой другой базе.
http://www.connectionstrings.com/
Номер ответа: 4
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #4
Добавлено: 19.07.05 15:52
Че за ерунда? сторока соединения:
Provider=Microsoft.Jet.OLEDB.4.0ata Source=<Path>;Extended Properties=dBASE IV;User ID=Admin;Password=;
<Path> реальный, а выдает ошибку:
"Строка <Path> задает ошибочный путь"
Номер ответа: 5
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #5
Добавлено: 19.07.05 16:10
Может надо подключить какие-нибудь библиотеки?
У меня VB.NET стандарт. 2003.
Номер ответа: 6
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #6
Добавлено: 19.07.05 16:50
Error: "Невозможно найти устанавливаемый ISAM"
Что такое ISAM?
Номер ответа: 7
Автор ответа:
MixeR
Вопросов: 12
Ответов: 25
Профиль | | #7
Добавлено: 19.07.05 17:50
Тут нужен драйвер ODBC
Качаешь (с микрософта если нет), add reference microsoft.data.odbc.dll
Далее Imports Microsoft.Data.Odbc
и вперёд. Как правильно подлючится через ODBC прочитаешь тут
http://www.carlprothman.net/Default.aspx?tabid=86#ODBCManagedProvider
а дальше можешь считывать значения. формировать новый sql запрос insert into ***, и MSSQl.
Номер ответа: 8
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #8
Добавлено: 20.07.05 11:06
Спасибо MixeR! все получилось все нормально.
Есть еще маленький вопросик.
Необходимо ту таблицу, к которой подключисля, загнать в MSSQL, понятно что запросами Insert, вопрос в том, что таблицу с такими полями надо создать на "сервере". В таблице более 30 полей, как сделать лучше, чтобы не перечислять все поля при создании таблицы на SQL сервере? Может быть есть вожможность использовать для этой цели DataTable?
Номер ответа: 9
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #9
Добавлено: 21.07.05 08:46
Привет всем! Кто-нибудь работал с SQL скриптами?
Как их можно использовать для создания таблиц?
И как программно их создавать?
Номер ответа: 10
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #10
Добавлено: 21.07.05 09:19
SQL - не скрипты...
Справку по CREATE TABLE смотри.
Номер ответа: 11
Автор ответа:
Денис
ICQ: 109593029
Вопросов: 15
Ответов: 32
Профиль | | #11
Добавлено: 21.07.05 10:28
Для общего развития.
Зачем нужны файлы *.SQL?
Их генерирует SQL сервер.
Номер ответа: 12
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #12
Добавлено: 24.08.05 16:41
Dim Rec1 As ADODB.Recordset
Dim fldLoop As ADODB.Field
Dim FieldName()
Dim FieldTyp()
Dim i As Integer
'здесь коннектишся к dbf.И кидаешь в Rec1.
i = 1
ReDim Preserve FieldName(Rec1.Fields.Count)
ReDim Preserve FieldTyp(Rec1.Fields.Count)
For Each fldLoop In Rec1.Fields
FieldName(i) = fldLoop.Name
FieldTyp(i) = FieldType(fldLoop.Type)
i = i + 1
Next fldLoop
В FieldName(i) - получаешь имена полей,
в FieldTyp(i) - типы.
Потом по циклу строишь запрос на создание таблицы и даже можешь не знать имена полей.