Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Суть проблемы такова. При переводе инфомации из Excel в MS SQL Server 2008 у меня не работает хранимая процедура, которую, если вызывать непосредствено с сервера, отрабатывает отлично.
Вот ее текст.
ALTER PROCEDURE [dbo].[CreateTimeTable]
@data_source varchar(200)
AS
BEGIN
DECLARE @SQL varchar(1000)
SET @SQL=
'SELECT * INTO timetabl FROM OPENDATASOURCE(''Microsoft.Jet.OLEDB.4.0'',''Data Source='+@data_source+'; Extended Properties=Excel 8.0'')...[Лист1$]'
EXEC(@SQL)
END
Перевод осуществляю путем вызова из Delphi.
ADOComExec.Parameters.ParamValues['@data_source']:=BakFName;
ADOComExec.Execute;
Сразу просьба, варианты выкинуть из этой цепочки Delphi не предлагать.
На втором операторе Delphi выдает ошибку:
"The OLE DB provider "Microsoft.Jet.4.0" for linked server (null)"
13 авг 09, 15:21    [7534121]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ольга Корн
Суть проблемы такова. При переводе инфомации из Excel в MS SQL Server 2008 у меня не работает хранимая процедура, которую, если вызывать непосредствено с сервера, отрабатывает отлично.

"Непосредственно с сервера" означает из того же Delphi, но на машине, где работает служба MS SQL Server ?
13 авг 09, 15:23    [7534141]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Glory, Нет. Это значит из среды MS SQL Management Studio
13 авг 09, 15:28    [7534189]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ольга Корн
Glory, Нет. Это значит из среды MS SQL Management Studio

Так это - не на сервере. Это - из другого приложение и наверное под другим логином.
13 авг 09, 15:31    [7534205]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Glory, а где логин можно посмотреть?
13 авг 09, 15:48    [7534378]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ольга Корн
Glory, а где логин можно посмотреть?

А вы разве не указываете его при открытии коннекта в Management Studio ?
13 авг 09, 15:49    [7534385]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Glory,
я использую аутентификацию Windows, поэтому логин не указываю.
13 авг 09, 15:54    [7534434]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ольга Корн
Glory,
я использую аутентификацию Windows, поэтому логин не указываю.

Ну разумеется не указываете, потому что этом автоматически используется текущий логин Windows.
Вы вообще в курсе о механизмах авторизации в MSSQL ?
13 авг 09, 15:57    [7534461]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
и конечно локальное приложение выбирает правильный путь к файлу данных с точки зрения сервера =)
13 авг 09, 16:00    [7534498]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Glory, можете написать строку подкючения, как она должна выглядить, если в ней явным образом указывается логин?
13 авг 09, 16:01    [7534517]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
вы бы помедитировали бы сначала над значением этой переменной: BakFName
13 авг 09, 16:03    [7534529]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ольга Корн
Glory, можете написать строку подкючения, как она должна выглядить, если в ней явным образом указывается логин?

Это вопрос адресуйте в форум по Delphi
13 авг 09, 16:04    [7534543]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Konst_One, значение переменной BakFName правильное.
13 авг 09, 17:48    [7535428]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
т.е. в этой переменной указан локальный путь с точки зрения сервера SQL?
13 авг 09, 17:49    [7535433]     Ответить | Цитировать Сообщить модератору
 Re: Перевод информации из файла формата Excel 2007 в MS SQL Server 2008  [new]
Ольга Корн
Member

Откуда: Ростов-на-Дону
Сообщений: 33
Стыдно признаваться в чем была ошибка... Перед операторами
ADOComExec.Parameters.ParamValues['@data_source']:=BakFName;
ADOComExec.Execute;
нужно было написать оператора Excel.Quit; для COM-объекта, объявленного ранее, как
Excel:= CreateComObject(ExcelXP.CLASS_ExcelApplication) as ExcelXP.ExcelApplication;
Поэтому, будьте внимательнее, не повторяйте моих ошибок! :-)
13 авг 09, 18:00    [7535508]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить