Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Может кто знает как создать Linked server в MS SQLServer2000?   Найти похожие ветки 

 
denmin ©   (2004-05-27 08:42) [0]

Здравствуйте. Пишу так
server name = srv1
Provider name = Microsoft Jet 4.0 OLE DB Provider
Product name = Jet 4.0
Datasource = f:\data (диск f, каталог data, имя базы не указываю)
Provider string = Paradox 4.x

В EM сервер видно, и базы тоже, но когда в QA пишу select * from srv1...baza, ругается
Server: Msg 7399, Level 16, State 1, Procedure sp_columns_ex, Line 133
OLE DB provider "UNKNOWN" reported an error.
[OLE/DB provider returned message: Unexpected error from external database driver (11265).]
На сервере стоит MDAC 2.8. Заранне благодарен


 
Nikolay M. ©   (2004-05-27 08:56) [1]

http://www.sql.ru/forum/actualtopics.aspx?search=linked+server&bid=1


> имя базы не указываю

А что в твоем понимании есть База в случае Парадокса?


> select * from srv1...baza

Что ты хочешь добиться этим запросом?

И вообще я бы лично не порекомендовал использовать линкед сервера. Проблемы часто с ни вылезают там, где их совсем не ждешь. Лучше уж OPENROWSET или DTS.


 
denmin ©   (2004-05-27 09:11) [2]

спасибо за ссылку, но я там спрашивал, мне помогли очень, но базы не открываются.

добиться я хочу этим вот чего. мы на работе переходим от Paradox на сиквел. но есть базы, которые пока трогать нельзя, и они так и лежат в paradox, но возникла проблема. есть запросы например такой
SELECT Dogovor.DogNum, Dogovor.RegNum, Source.Source, Source.FullName, Dogovor.DateStart, Dogovor.DateEnd, Dogovor.SrokOplaty, Dogovor.Penny, Dogovor.Shtraf, Dogovor.SerCount, Dogovor.GruzPol, Source_1.FullName, Dogovor.Predoplata, Dogovor.ISClosed, Dogovor.PercGodn, Dogovor.PercSkidki, Dogovor.PercNadbavki
FROM DOGOVOR Dogovor
  INNER JOIN SQLSklad..SOURCE Source
  ON  (Dogovor.Contragent = Source.Source)  
  INNER JOIN SQLSklad..SOURCE Source_1
  ON  (Dogovor.GruzPol = Source_1.Source)  
где  dogovor перевели на сиквел, а source на paradoxe, так вот я и хотел его завязать через прилинкованный сервер, а как еще я не знаю. может подскажете? буду очень благодарен, а то оооочень горю.


 
Nikolay M. ©   (2004-05-27 09:16) [3]

OPENROWSET - твой выбор.
Даже в BOL пример такой связки есть:

SELECT c.*, o.*
FROM Northwind.dbo.Customers AS c INNER JOIN
  OPENROWSET("Microsoft.Jet.OLEDB.4.0",
  "c:\MSOffice\Access\Samples\northwind.mdb";"admin";"mypwd", Orders)
  AS o
  ON c.CustomerID = o.CustomerID


 
Червелицый Злобоглаз   (2004-05-27 09:18) [4]

Я бы тебе не советовал все же делать таким образом.
Послушай Nikolay M. ©   (27.05.04 08:56) [1].
Сделай один раз ETL-операцию с помощью DTS, и дальше пользуйся полноценными сервисами SQL-сервера :-)


 
Nikolay M. ©   (2004-05-27 09:25) [5]


> Червелицый Злобоглаз   (27.05.04 09:18) [4]

Не всегда такое возможно.
А если парадоксные базы очень часто меняются, а информация нужна онлайн?


 
bushmen ©   (2004-05-27 09:30) [6]

После того, как ты создал прилинкованный сервер, то обращение к нему ведется:

select * from OpenQuery(srv1, "select * from table1")


 
Nikolay M. ©   (2004-05-27 09:32) [7]

Вот, кстати, прекрасно работающий запрос:

SELECT * FROM
OPENROWSET("MSDASQL.1", "Driver={Microsoft Paradox Driver (*.DB )};DBQ=D:\Programs\Borland\Borland Shared\Data\;", "select * from country")


 
denmin ©   (2004-05-27 09:36) [8]

если не трудно, объясните пожалуйста поподробнее как через DTS, его пакет что сохранить? как сохранить? и как его создать так, чтобы можно было открыть через openrowset?


 
bushmen ©   (2004-05-27 09:39) [9]

>SELECT * FROM
OPENROWSET("MSDASQL.1", "Driver={Microsoft Paradox Driver (*.DB )};DBQ=D:\Programs\Borland\Borland Shared\Data\;", "select * from country")

Работает-то он прекрасно. А вот если в программе множество запросов к этим табицам, то неужели охото постоянно за собой таскать такой хвост? Это, по-моему, не удобно


 
Nikolay M. ©   (2004-05-27 09:40) [10]


> объясните пожалуйста поподробнее как через DTS, его пакет
> что сохранить? как сохранить? и как его создать так, чтобы
> можно было открыть через openrowset?

Запустить Пуск-Программы-MS SQL-Import and Export Data и методом тыка понять как слить с парадокса несколько таблиц (даже тыка не нужно, там прекрасный визард) займет 2-3 минуты.


 
Nikolay M. ©   (2004-05-27 09:41) [11]


> bushmen ©   (27.05.04 09:39) [9]

[5].


 
denmin ©   (2004-05-27 09:44) [12]

как слить-то я знаю, ладно щас немного покумекаю с DTS, може что и придумаю. а информация действительно нужна онлайн


 
bushmen ©   (2004-05-27 09:46) [13]

2 Nikolay M. ©   (27.05.04 09:41) [11]:

>А если парадоксные базы очень часто меняются, а информация нужна онлайн?

И что? В линке ты указываешь только директорию, а имя файла в самом запросе. Честно говоря, не понял.


 
Nikolay M. ©   (2004-05-27 09:52) [14]


> И что? В линке ты указываешь только директорию, а имя файла
> в самом запросе. Честно говоря, не понял.

Я почему-то подумал, что ты на самом деле за DTS.

По поводу линков: я видел единственный раз реальную работу с линками (причем линковались не абы кто, а MS SQL 6.5 и 2000), постоянно приходилось перезапускать DTC, терялась связь и тд. Когда я сам попытался прилинковать Sybase, оказалось, что через линки с сайбейза не хотят запускаться процедуры (эта проблема не раз обмусоливалась на sql.ru, решения там так и не нашли). Какие сюрпризы будут в случае прилинкованного парадокса сказать не берусь.
А чем не нравится openrowset? Не радует эстетизмом глаза? Ну, не всегда же быть шоколаду.


 
denmin ©   (2004-05-27 10:00) [15]

пробовал openrowset ругается
OLE DB provider "MSDASQL.1" reported an error. The provider did not give any information about the error.


 
bushmen ©   (2004-05-27 10:03) [16]

>А чем не нравится openrowset

Я, честно говоря, работал через OpenDataSource, а не OpenRowSet. И иногда возникали непонятные ошибки с настройкой. Вроде все драйвера установлены, но выдает ошибку, что ISAM не найден и хоть застрелись. А через прилинковку все проходит без проблем.


 
Nikolay M. ©   (2004-05-27 10:07) [17]


> выдает ошибку, что ISAM не найден и хоть застрелись. А через
> прилинковку все проходит без проблем.

Гы :)
У каждого свой печальный опыт :)
Имхо, у автора теперь как минимум 3 работающих варианта, так что ему и решать.
Хотя мое имхо - это бред пилить таблицы между парадоксом и сиквелом.


> пробовал openrowset ругается

Видать, ошибка у тебя :)


 
bushmen ©   (2004-05-27 10:17) [18]

>Хотя мое имхо - это бред пилить таблицы между парадоксом и сиквелом

Могу поделиться горьким опытом, когда это нужно.
1. У меня есть web-сайт, на который пользователи сливают свои файлы в формате DBF, а у меня вся база сидит в MS SQL. Надо сверить данные на совпадение и в исходном файле поменять признвк у одного поля при совпадении. Вот и приходится заниматься такой мутотенью. :)
2. На одной фирме 3 разработчика делают свои web-сайты. Один клепает на ACCESSe базу, другой - на DBF, третий - еще бог знает на чем. Причем, каждому подавай свой комп, т.к. когда это все крутится на одном - web-сервер висниит :) Есть задача перевести все на одну СУБД. Причем, каждый из разработчиков жалуется, что не знает кроме того, с чем работает ничего. Поэтому, договорились, что им дается время на ознакомление с MS SQL, а пока все будет крутиться через линковку.


 
denmin ©   (2004-05-27 10:19) [19]

да я вот тоже хотел через прилинковку, но не работает, да и базы paradox лежат в сети, и на сервtре где стоит сиквел, базы подмапливаются сетевым диском, а ресурсы на другом сервере, на Novelle. линковка не работает у меня, вернее в EM->security->linked servers мой сервер прилинкованный видно, базы видно, а когда в QA пишу select * from srv1...baza, ругается
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider "Microsoft.Jet.OLEDB.4.0" reported an error.  
[OLE/DB provider returned message: Unexpected error from external database driver (11265).]
вот так.

еще вопрос, вот говорили через DTS я сохранил dts пакет в local packages как source, если я правильно понял, то  шаг, где происходит выборка из таблиц парадокса, и должен фигурировать в
SELECT * FROM OPENROWSET("DTSPackageDSO", "/FC:\source.dts",
                 "SELECT * FROM DTSStep_DTSDataPumpTask_2")
а это DTSStep_DTSDataPumpTask_2 что?


 
bushmen ©   (2004-05-27 10:21) [20]

>когда в QA пишу select * from srv1...baza

Смотри [6]


 
Nikolay M. ©   (2004-05-27 10:32) [21]


> Могу поделиться горьким опытом, когда это нужно.

В обоих случаях это не нужно.
В 1) не обязательно делать этот процес средствами сиквела, можно написать стороннюю программку.
А разработчиков из 2) просто уволить или переучить. Что это за разработчик, который знает только аксес и не может переучиться на мс скл?


 
denmin ©   (2004-05-27 10:34) [22]

прошу прощения не то написал
пробовал так SELECT * FROM OPENROWSET("DTSPackageDSO", "/Uadmin /P /S /Nsource2", "Select *")
ругается опять так
OLE DB provider "DTSPackageDSO" reported an error.  
[OLE/DB provider returned message: Package Step "Copy Data from SOURCE to [SQLSklad].[dbo].[Source2] Step" failed with the following error: Unexpected error from external database driver (11265).]


 
sniknik ©   (2004-05-27 11:05) [23]

если именно линк сервер нужен
создается сам сервер
EXEC sp_addlinkedserver
@server = "MYDBServer",
@provider = "Microsoft.Jet.OLEDB.4.0",
@srvproduct = "OLE DB Provider for Jet",
@datasrc = "D:\DB",
@provstr = "Paradox 4.x"

доступ с db таблицам для всех (ну чего там охранять?)
EXEC sp_addlinkedsrvlogin "MYDBServer", "False"

выполни обе команды ну хотябы в кверианалайзере.


 
denmin ©   (2004-05-27 11:26) [24]

2 sniknik
сделал, так ка Вы сказали
но опять когда написал select * from mudbserver...baza выдал
OLE DB provider "Microsoft.Jet.OLEDB.4.0" reported an error.  
[OLE/DB provider returned message: Unexpected error from external database driver (11265).]


 
MegaBass   (2004-05-27 11:32) [25]

>sniknik ©
Молодец!!!


 
sniknik ©   (2004-05-27 11:50) [26]

denmin ©   (27.05.04 11:26) [24]
значит чтото не то, может с самим провайдером Jet (+ возможно BDE) попробуй обнови. путь какой задаеш, локальный? в нем русских букв, пробелов (также как в названии таблиц/полей/индексов) нет?
в другом месте то открывается?
и кстати нет случаем в таблице поля graphic? оно не поддерживается. (хотя ошибку давать не должно, просто игнорируется)


 
denmin ©   (2004-05-27 12:36) [27]

путь локальный, BDE 5.01, OLE Jet 4.0, русских и робелов нет. вопрос: а что прилинкованные сервера работают только с локальными путями?


 
sniknik ©   (2004-05-27 12:51) [28]

может и нет но у меня задание пути в виде \\сервер\... давало ошибку, а задание его же как подключеного диска линк сервером не "виделось" просто нет пути и все, без ошибок. хотя это может и политикой безопасности меняется, но разбиратся в лом (оно мне надо?)

> OLE Jet 4.0
уже есть 8й SP, у тебя какой? у меня 6й стоит.


 
sniknik ©   (2004-05-27 12:57) [29]

попробуй открыть свою таблицу в другом месте, ошибку то дает от драйвера, а не джета.
(может версия файла старше (7 а не 4) или он порушился)


 
denmin ©   (2004-05-27 13:11) [30]

у меня SQL Server стоит на Win2000 server SP2, а OLE Jet 4.0. файл парадокса 4.0, но пробовал ставить и 7.0, не помогает


 
lmatveev   (2004-05-27 13:39) [31]

Ошибка "Server: Msg 7399, Level 16, State 1, Procedure sp_columns_ex, Line 133
OLE DB provider "UNKNOWN" reported an error.
[OLE/DB provider returned message: Unexpected error from external database driver (11265).]
" возникает при использовании Linked серверов когда проблемы
а) с правами на каталог с данными
б) с правами на каталог %TEMP% (должен быть доступ на запись)!!!

Права должны быть у учетной записи, с которой стартует сервер (если авторизация стандартная) или у учетной записи, с которой авторизуется пользователь.
Там еще есть тонкости при использовании доменов
Эта проблема описана где-то в базе знаний Мелкософта.
Для начала я бы порекомендовал дать соответствующим учетным записям права администратора, и, если все заработает, копать в направлении раздачи прав на каталоги.
PS. Еще по-моему должны быть права на ветку реестра, в которой описан или провайдер или Linked сервер или инстанс самого сервера - точно уже не помню. Если раздача всем прав администратора поможет :)), то ищи на мелкософте



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.033 c
1-1086703741
BlackLord2003
2004-06-08 18:09
2004.06.20
ClipText


1-1085999039
Александр
2004-05-31 14:23
2004.06.20
Тренер


1-1086702481
galexis
2004-06-08 17:48
2004.06.20
Как обратится к TEdit в цикле?


3-1085734293
Bizon
2004-05-28 12:51
2004.06.20
Установка IBExpert


1-1086174491
BestMaster
2004-06-02 15:08
2004.06.20
Ограничения на имена переменных ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский