Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003 / 16 сообщений из 16, страница 1 из 1
31.03.2009, 22:50:37
    #35904523
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Собственна и весть вопрос.
Мне надо выгружать данные из ms sql сервера.
Делаю в MS Excel2003
В справке нашел SqlOpen(), тока непонятно из-какого этого references-a и какого типа данных переменные (QueryString,Chan,sqlretrieve).
B вообще какие области имен(.dll-ки) для работы с ms sql в экселе?system.date что-то не нашел.
Получилось сделать запрос через ADODB, запрос выполнился, тока не пытался выгрузить данные в эксель. Здесь я так понял надо использовать DataReader?,т.е проходить по каждой записи ридера.Есть ли другой способ, типа SQLOpen-а?
...
Рейтинг: 0 / 0
31.03.2009, 23:53:04
    #35904592
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Поищи по форуму. Много раз обсуждалось.
...
Рейтинг: 0 / 0
01.04.2009, 10:37:38
    #35905067
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
по ADODB я нашел пример.А по поводу sqlopen() что нить есть?
...
Рейтинг: 0 / 0
01.04.2009, 11:10:15
    #35905159
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Лузер_00,
для выгрузки данных с SQL Server есть стандартные приемы. Пользуйтесь ими.
...
Рейтинг: 0 / 0
01.04.2009, 12:01:46
    #35905331
Сергей06
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
...
Рейтинг: 0 / 0
02.04.2009, 08:52:46
    #35907224
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Я делаю, например, так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Sub ADO_SQL1()
'Заполнение списка подразделений из Базы кадров
' создаем объект соединения
Set cnn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

On Error GoTo ErrHandler
' открываем соединение
cnn.Open Sheets("Правила работы с Табелем").Range("СтрокаКоннектаКБазе").Value
'"Driver={SQL Server};Server=192.168.1.0;APP=T-12;Uid=T12;Pwd=masterkey;Database=lgipkadry;Network=DBMSSOCN;Address=192.168.1.0,1433"

'Открываем набор записей
rs.ActiveConnection = cnn
rs.Source = "SELECT NAME, SOKR, ID From Otdely"
rs.Open

If rs.EOF Then
   MsgBox "Файл не содержит записей !"
Else
    rs.MoveFirst
    Sheets("Правила работы с Табелем").Range("AS" &  19 ).CopyFromRecordset rs
End If

' Закрываем набор
rs.Close
Set rs = Nothing

' Закрываем соединение
cnn.Close

Exit Sub

ErrHandler:
    MsgBox "Ошибка подключения к списку подразделений!"

End Sub
...
Рейтинг: 0 / 0
02.04.2009, 10:29:38
    #35907464
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
kanalex,
CursotLocation не настраиваете ?
...
Рейтинг: 0 / 0
02.04.2009, 10:48:42
    #35907515
kanalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
э.э... нет:)
...
Рейтинг: 0 / 0
02.04.2009, 15:28:03
    #35908670
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
cmd.CommandText = "select Eventid, dbase from dbo.events where dt_act>'2009-04-01'"
cmd.CommandType = adCmdText
conn.ConnectionString = "Provider=SQlOLEDB; Trusted_Connection=Yes;database=test;Data Source=server1;APP=Excel2003"
'cmd.Prepared = True
'открывавем соединение
conn.Open
' присваиваем команеде соединение
'cmd.ActiveConnection = conn
rs.ActiveConnection = conn
rs.Source = cmd.CommandText
rs.Open
'Set rs = cmd.Execute()

Range("A9").CopyFromRecordset rs
В чем ошибка?
вылетает на rs.open
...
Рейтинг: 0 / 0
02.04.2009, 15:29:21
    #35908675
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
с Set rs = cmd.Execute() тоже самое
...
Рейтинг: 0 / 0
02.04.2009, 15:29:41
    #35908676
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Лузер_00,
и с каким сообщением вылетает ?
...
Рейтинг: 0 / 0
02.04.2009, 15:37:17
    #35908700
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
---------------------------
Microsoft Visual Basic
---------------------------
Run-time error '-2147217865 (80040e37)':

Automation error
---------------------------
ОК Справка
---------------------------
...
Рейтинг: 0 / 0
02.04.2009, 15:40:56
    #35908716
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
К базе соединение проходит, запрос проходит, в QA работает.
...
Рейтинг: 0 / 0
02.04.2009, 15:46:10
    #35908736
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Лузер_00
Automation error


Откуда запрос идет? Почему Automation error?
...
Рейтинг: 0 / 0
02.04.2009, 15:59:47
    #35908799
Лузер_00
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Вроде разобрался, данные выгрузились. А каким образом можно сразу сделать выгружаемые данные в список и проставить имена столбцов согласну именам таблицы.
С каждой обработкой ячеек я сделаю, а в автоматом, может есть параметры в recordset-е.
...
Рейтинг: 0 / 0
02.04.2009, 17:37:19
    #35909118
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003
Перед CopyFromRecordset вставляйте строку с названиями столбцов.
У каждого поля есть Name.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как соединиться и выгрузить данные из базы MS SQL2000 в Excel 2003 / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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