powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Есть ли способы ускорить процесс обновления справочника?
25 сообщений из 73, страница 2 из 3
Есть ли способы ускорить процесс обновления справочника?
    #37660741
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЕсли записей в t1 многоЗабыл, после очистки insert делать без where.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37660948
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Спасибо!!!
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661177
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Вопрос пытаюсь забросить данные из внешней DBF во временную таблицу следующим кодом
Код: vbnet
1.
cn_base.Execute "INSERT INTO LOCAL TEMPORARY TABLE swtmp FROM sw_list IN 'D:\work\access\korr_otnosheniya\server\import\sprv\sw_list.dbf' 'dBASE IV;' "



Получаю ошибку Incorrect syntax near 'TEMPORARY'

Пробовал делать так
Код: vbnet
1.
cn_base.Execute "SELECT * INTO LOCAL TEMPORARY TABLE swtmp FROM sw_list IN 'D:\work\access\korr_otnosheniya\server\import\sprv\sw_list.dbf' 'dBASE IV;' "



Эффект тот же
где я заблуждаюсь? или надо вначале создать временную а потом перелить туда данные?
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661192
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_men,

Это не синтаксис MSSQL

1) временные таблицы в MSSQL имеют приставку # перед именем.
типа SELECT * INTO #tm
2) IN там тоже не работает, кури OPENQUERY

(когда тыришь откуда-то код, не забывай смотреть, к какой СУБД он относится)
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661218
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Вы правы. Оновы кода брал из книги Криса Фиайли SQL QUICK START. Я не дочитал примечания. Там дается синтаксис для разных СУБД. Обычно основной идет для MSSQL. а тут еще уточняющее примечание.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661247
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Еще хочу уточнить, а в VB по SQL синтаксису ориентироваться надо непосредственно на MSSQL или на TransactSQL? Вообще я не пойму зачем мелкософту так много диалектов.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661253
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ms sql - это сервер sql, который использует диалект Transact SQL (T-SQL).
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661273
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_menа в VB по SQL синтаксису ориентироватьсяVB по барабану - он отправляет текстовую строку, которую уже будет интерпретировать СУБД.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661278
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
Виноват очепятка имелся ввиду JetSQL. Или оный только для MDB хранилищ?
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661279
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
понял, ориентироваться по СУБД.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661507
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Что не так делаю? пытаюсь зацепиться через ODBC. если открываю через connection.open проблем нет могу делать выборку из DBF а если вот так как ниже то говорит не указан провайдер или источник не найден. Строчку скопировал из UDL файла
Код: vbnet
1.
2.
cn_base.Execute "SELECT * INTO #swtmp " & _
                    "FROM OPENROWSET ('MSDASQL','Provider=MSDASQL.1;Persist Security Info=False;Data Source=swlist','SELECT * FROM sw_list') "
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661552
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Data Source=c:\folder;Extended Properties=dBASE IV;', 'SELECT * FROM sw_list') 
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661615
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

А с помощью ODBC никак? просто хотелось бы более универсальную настройку сделать.

Если нет видимо настройку путей надо будет в базе хранить.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661650
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через dsn что ли? А у вас mssql на том же компьютере, где выполняется cn_base.Execute?
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661657
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

В данном случае да, а вообще предполагается базу держать на сервере
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37661670
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда и dsn должен быть на сервере. И сервер должен иметь доступ к dbf-файлам. Либо нужно будет подключать ему шару сетевым диском, либо в dsn указывать сетевой путь. Да и в предыдущем примере соответственно не c:\folder. А открывать dsn так:
Код: sql
1.
OPENROWSET('что здесь не знаю, возможно тот же jet', 'DSN=swlist;', 'SELECT * FROM sw_list') 
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662510
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Не пойму вроде все верно сделал, запрос не пашет. постоянно выдает "Время истекло". что я мог упустить

Код: vbnet
1.
2.
cn_base.Execute "SELECT * INTO #swtmp " & _
                    "FROM OPENROWSET ('MSDASQL','DSN=swlist','SELECT * FROM sw_list ORDER BY id') "


если прописываю
Код: vbnet
1.
'Driver={Microsoft dBase Driver (*.dbf)};Persist Security Info=False;Data Source=sw_list.dbf;Initial Catalog=D:\111','SELECT * FROM sw_list ORDER BY id') "



то таблица в файле не найдена :(
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662627
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот еще такой вопрос если делать импорт визардом, то можно сохранить скрипт выполнения импорта. Этот скрипт можно прикрутить к программе или лучше не стоит?
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662735
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_menНе пойму вроде все верно сделал, запрос не пашет. постоянно выдает "Время истекло". что я мог упуститьПопробуй SELECT top 1 * FROM sw_list

Alex_men Этот скрипт можно прикрутить к программе или лучше не стоит?В принципе можно, но лучше не стоит. Я пробовал, капризная штука. Ровно в том виде, который был сгенерен, работает, а делаешь шаг влево-вправо в плане добавления какой-никакой автоматизации и универсализации, перестает работать, выдает малопонятные ошибки.
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662809
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел еще вот такой код. и тоже не слава богу.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim Cl_Base As Database
    Dim MainPath As String
    Dim SQLExecString As String
    
    MainPath = "D:\work\access\korr_otnosheniya\server\import\sprv"
        
    Set Cl_Base = DAO.OpenDatabase(MainPath, False, False, "dBASE IV;LANGID=0x0419;CP=866;COUNTRY=0")
    SQLExecString = "SELECT id,code,cod_bank,cod_branch, " & _
                        "name_swift,iso_dig,iso_lat2,iso_lat3, " & _
                        "subtype,co_type,cb_date,ce_date,upsize_ts " & _
                    "FROM sw_list "
    Set rst_in = Cl_Base.OpenRecordset(SQLExecString)



говорит слишком мало параметров, требуется 13.
Вот не ожидал тут такой засады :(
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662834
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Да TOP10 отбирает пуле, а вот полную таблицу переварить не может :(
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662838
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyПопробуй SELECT top 1 * FROM sw_list


TOP 100 000 тоже отбирает
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662844
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_menговорит слишком мало параметров, требуется 13.дык, значит в таблице sw_list нет всех этих полей name_swift,iso_dig,iso_lat2,iso_lat3 и т.п. как раз количеством 13 штук
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662855
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

так я их оттуда и списал (правда открывал аксесом). Может они как то иначе описываться должны? и SQL тож нашел их визаром
...
Рейтинг: 0 / 0
Есть ли способы ускорить процесс обновления справочника?
    #37662884
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

и еще одна странность он говорит то 3 то 13 параметров
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 2 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Есть ли способы ускорить процесс обновления справочника?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]