powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск процедуры SQL в Access
7 сообщений из 7, страница 1 из 1
Запуск процедуры SQL в Access
    #39635492
Tishh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В SQL создана процедура "proc_import_csv_to_SQL"

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
USE [IMPORTDAT]
GO
/****** Object:  StoredProcedure [dbo].[proc_import_csv_to_SQL]    Script Date: 4/24/2018 4:44:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proc_import_csv_to_SQL]
AS
GO
DELETE FROM csv1
BULK INSERT csv1 FROM 'D:\DDD\csv1.csv'
   WITH (
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
);
GO



При нажатии на кнопку в Access, хотелось бы запустить эту процедуру на выполнение. Не могли бы ли вы мне подсказать, как этол можно осуществить?
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635499
Tishh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Access создан запрос: sproc_import_csv_to_SQL

С текстом: Exec proc_import_csv_to_SQL

И когда пускаю на выполнение, то в SQL портит процедуру и оставляет только:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE [IMPORTDAT]
GO
/****** Object:  StoredProcedure [dbo].[proc_import_csv_to_SQL]    Script Date: 4/24/2018 5:03:37 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proc_import_csv_to_SQL]
AS
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635554
Tishh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача заключается в том, чтобы пользователь имел бы возможность загружать данные файла формата csv в таблицу csv1 , созданную в SQL, предварительно очищая эту таблицу от старых данных.

Правильно ли я поступаю, что создаю процедуру с командами (указано выше) в SQL и получится ли использовать эту процедуру, запуская ее из Access интерфейса? Использую ДАО.

Сам файл csv на пользовательском компьютере должен быть расположен.

Сейчас пытаюсь пока на сервере всё решить, вот только пока не получается.
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635773
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TishhВ SQL создана процедура "proc_import_csv_to_SQL"

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
USE [IMPORTDAT]
GO
/****** Object:  StoredProcedure [dbo].[proc_import_csv_to_SQL]    Script Date: 4/24/2018 4:44:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proc_import_csv_to_SQL]
AS
GO -- А это зачем?
DELETE FROM csv1
BULK INSERT csv1 FROM 'D:\DDD\csv1.csv'
   WITH (
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
);
GO



При нажатии на кнопку в Access, хотелось бы запустить эту процедуру на выполнение. Не могли бы ли вы мне подсказать, как этол можно осуществить?

У Вас лишний "GO" в тексте процедуры. У Вас процедура как бы сама отдельно и начиная с "DELETE ..." отдельный скрипт.
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635778
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tishh,

И ещё. Как Вы запускаете процедуру в MS Access? По хорошему запросом к серверу необходимо запускать.
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635792
Tishh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
studieren,

У меня получилось сделать импорт, процедуру разделила на 2 части.

А запускаю таким образом:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Public p As String

Private Sub cmd_import_Click()
    p = "proc_import_csv_to_SQL_1"
        Call PROC("sproc_import_csv_to_SQL_1", p, 0)
    MsgBox "111"
    p = "proc_import_csv_to_SQL_2"
        Call PROC("sproc_import_csv_to_SQL_2", p, 0)
End Sub

Function PROC(p1, p2, k)
Set dbsReport = CurrentDb
Set qdf = dbsReport.QueryDefs(p1)
qdf.SQL = "EXEC " & p2
If k = 0 Then
    qdf.ReturnsRecords = False
    qdf.Execute dbFailOnError
Else
    qdf.ReturnsRecords = True
End If
End Function
...
Рейтинг: 0 / 0
Запуск процедуры SQL в Access
    #39635794
Tishh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
studieren,

Спасибо огромное!!!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запуск процедуры SQL в Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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