Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Доброго всем времени суток!

Подскажите пожалуйста каким образом SQL может раьотать с посторонними фацлами, т.е. делать из них запросы, изменять данные и т.д.!!!
Знаю что может... Даже делал сам но потерял доки...
28 ноя 05, 13:49    [2116201]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
какими файлами? вариантов масса, от линкед сервера до sp_OACreate и xp_cmdshell
-------------------------------------
Jedem Das Seine
28 ноя 05, 13:57    [2116236]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Например XLS
28 ноя 05, 14:55    [2116573]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37100
YAzONV
Например XLS

Напрмер, поиск
28 ноя 05, 14:55    [2116576]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Поиск пробовал, куча всего и неодного вразумителльного ответа пока ненашол...
28 ноя 05, 15:02    [2116613]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ну вопрос у Вас тоже не оособо вразумительный:)
-------------------------------------
Jedem Das Seine
28 ноя 05, 15:03    [2116624]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Может поэтому так много однотипных вопросов и неодного ответа...
28 ноя 05, 15:07    [2116644]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Так давайте конкретно чего хотите? Ну , работа с екселем разобрана на форуме до нитки.... что конкретно не получаеться, то?
-------------------------------------
Jedem Das Seine
28 ноя 05, 15:09    [2116654]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Glory
Member

Откуда:
Сообщений: 104760
YAzONV
Может поэтому так много однотипных вопросов и неодного ответа...

Это потому, что непонятно с чем и что вам нужно делать.
Общий вопрос - общий ответ
28 ноя 05, 15:10    [2116663]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Вообщем я хочу делать запросы прямо из XLS файла и работать с этими данными в SQL....
При этом невставляя их в таблицы...
28 ноя 05, 15:15    [2116685]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
как пример
 insert into @tempEBase(  
      BusinessPhone  
     ,Company  
     ,EmailAddress  
     ,FirstName  
     ,LastName  
     ,MiddleName  
  )  
  select distinct  
      BusinessPhone  
     ,Company  
     ,EmailAddress  
     ,FirstName  
     ,LastName  
     ,MiddleName  
  FROM   
  OPENROWSET('Microsoft.Jet.OLEDB.4.0',   
     'Excel 8.0;Database=D:\Import\XLS\Work\Base.xls;NULL', Contacts$)  
  where NULLIF(RTRIM(LTRIM(EmailAddress)), '') is not NULL  
 
-------------------------------------
Jedem Das Seine
28 ноя 05, 15:21    [2116716]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Забавно, при таком запросе
select *
FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=\\itserver2\OtherEDS\RusPl\Order.xls;NULL', Contacts$)

выдаёт ошибку
Server: Msg 7314, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' does not contain table 'Contacts$'. The table either does not exist or the current user does not have permissions on that table.
OLE DB error trace [Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='Contacts$'].
28 ноя 05, 15:28    [2116757]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ну так все написано

does not contain table 'Contacts$'. The table either does not exist or the current user does not have permissions on that table.
28 ноя 05, 15:32    [2116768]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ну так подставте свое название...
-------------------------------------
Jedem Das Seine
28 ноя 05, 15:35    [2116785]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Что здесь есть "Contacts"(или любая другая таблица), т.е. где она должна быть?
28 ноя 05, 15:48    [2116857]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Glory
Member

Откуда:
Сообщений: 104760
YAzONV
Что здесь есть "Contacts"(или любая другая таблица), т.е. где она должна быть?

Это ести листы(sheets) Excel-я, которые есть в конкртеном файле в количестве как минимум 1.
28 ноя 05, 15:51    [2116869]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
select *
FROM
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=\\itserver2\OtherEDS\RusPl\Order.xls;NULL', Лист3$ )

результат

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. The provider did not give any information about the error.
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: The provider did not give any information about the error.].
28 ноя 05, 15:52    [2116875]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Положите файло локально серверб бд И ПРОВЕРЬТЕ.
-------------------------------------
Jedem Das Seine
28 ноя 05, 15:53    [2116887]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Сорри, просто файл был открыт...
28 ноя 05, 15:57    [2116906]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Вах работает замечательно...
Вопрос следующий, послетого как изменил что либо как сохранить в XLS?
28 ноя 05, 16:01    [2116926]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
А вы уверенны что пытаетесь решить задачу , которую должен делать скл сервер? Файл прочитали ... чет с ним сделали и сохранили? помоему задача совсем не сиквела, то?

А вообще смотрите дальше OPENROWSET, OPENDATASOURCE
----------------------------------------------------------------------------
Jedem Das Seine
28 ноя 05, 16:15    [2117004]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Просто при обработке файла используются таблицы базы, поэтому такая заморочка...
28 ноя 05, 16:19    [2117029]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Maxx

А вообще смотрите дальше OPENROWSET, OPENDATASOURCE
Jedem Das Seine

Смотрел, про сохранение ничего ненашол...
28 ноя 05, 16:21    [2117039]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
а макрос с вычиткой данных из БД в екселе не проще написать то?
-------------------------------------
Jedem Das Seine
28 ноя 05, 16:21    [2117043]     Ответить | Цитировать Сообщить модератору
 Re: SQL работа с файлами!?!  [new]
YAzONV
Member

Откуда:
Сообщений: 20
Ну мне например не проще, я понятия неимею как в Екселе макросы писать(такого плана)!!!
Так как все таки сохранить в Ексель???
28 ноя 05, 16:35    [2117137]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить