Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.149.243.106] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
SELECT code,name,city,street,house,build,art,rest FROM OPENROWSET ('MSDASQL','Driver={Microsoft FoxPro VFP Driver (*.dbf)}; SourceDB=E:\sun\; DefaultDir=E:\sun\; SourceType=DBF; Exclusive=No; BackgroundFetch=Yes; Collate=Russian;Null=No; Deleted=No;', 'SELECT code,name,city,street,house,build,art,rest FROM Sun') И получаю Цитата OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Диспетчер драйверов ODBC] Драйвер не поддерживает данной функции". Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)". Какой ф-ии? |
Сообщ.
#2
,
|
|
|
А драйвер установлен ?
можно так: SELECT code,name,city,street,house,build,art,rest FROM OPENROWSET('MSDASQL', 'Driver={Microsoft dBase Driver (*.dbf)}; BackgroundFetch=Yes; Exclusive=No; NULL=No; Collate=Russian; Deleted=No;', 'select * from E:\sun\Sun.dbf') А проще через ДБлинк |
Сообщ.
#3
,
|
|
|
Цитата RiZ @ А драйвер установлен ? Да. Цитата RiZ @ А проще через ДБлинк Возможно. Но у меня поставщиков ,пока, около двух десятков и все со своими форматами. Добавлено Цитата RiZ @ можно так: Цитата OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][Драйвер ODBC dBase] Слишком мало параметров. Требуется 1.". Msg 7320, Level 16, State 2, Line 1 Cannot execute the query "select code,name,city,street,house,build,art,rest from E:\sun\Sun.dbf" against OLE DB provider "MSDASQL" for linked server "(null)". |
Сообщ.
#4
,
|
|
|
Опаньки, поле то не "art" а "apt". Заработало.
|
Сообщ.
#5
,
|
|
|
Хотел расширить
DECLARE @T varchar(256),@pp varchar(256) SET @pp = 'E:\SUN\' SET @T = '''select * from ' + @pp + 'Sun.dbf''' SELECT code,name,city,street,house,build,apt,rest FROM OPENROWSET( 'MSDASQL', 'Driver={Microsoft dBase Driver (*.dbf)}; BackgroundFetch=Yes; Exclusive=No; NULL=No; Collate=Russian; Deleted=No;', @T) Msg 102, Level 15, State 1, Line 16 Incorrect syntax near '@T'. Добавлено Если ..... NULL=No; Collate=Russian; Deleted=No;', 'select * from ' + @pp + 'Sun.dbf' То пишет Incorrect syntax near '+'. |
Сообщ.
#6
,
|
|
|
низзя так!
Добавлено Цитата OPENROWSET does not accept variables for its arguments. http://msdn.microsoft.com/en-us/library/aa276850(SQL.80).aspx Незнаю, правильно ли я понял бол на этот раз Добавлено воспользуйся такой конструкцией: Цитата set @a='SELECT * FROM OPENROWSET('..... exec sp_executesql @a |
Сообщ.
#7
,
|
|
|
Цитата Koss @ OPENROWSET does not accept variables for its arguments. А слона я и не заметил. Спасибо. Добавлено Цитата Koss @ exec sp_executesql @a запустил просто exec (@a) |
Сообщ.
#8
,
|
|
|
о! Не знал, что так можно.
|