Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 openquery, text file driver  [new]
qwer234
Guest
Возникла неожиданная проблема с openquery
Есть вот такой запросик: select * from openquery(probl, 'select * from co_ro#txt').
В файле 16 колонок, разделитель - '!'

Все прекрасно работало до тех пор, пока в одной из строк в колонке 15 не появилась кавычка - ". Видимо, при разборе она также принята за разделитель, т.к. в 16-й колонке для этой строки возвращается NULL (на самом деле там число).
Кто виноват и что делать?

schema.ini:

[contracts_debt_ro.txt]
ColNameHeader=False
Format=Delimited(!)
MaxScanRows=0
CharacterSet=ANSI
Col1=F1 Char Width 255
Col2=F2 Char Width 255
Col3=F3 Float
Col4=F4 Integer
Col5=F5 Date
Col6=F6 Date
Col7=F7 Float
Col8=F8 Date
Col9=F9 Float
Col10=F10 Float
Col11=F11 Float
Col12=F12 Date
Col13=F13 Integer
Col14=F14 Char Width 512
Col15=F15 Char Width 512
Col16=F16 Double
17 июл 12, 13:37    [12877565]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
Так что, никто не сталкавался с такой проблемой?
Или я слишком туплю?
17 июл 12, 14:13    [12877823]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
up
17 июл 12, 15:44    [12878474]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
up
18 июл 12, 13:31    [12883096]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
qwer234,

может вы текст ошибки покажете и конфигурацию вашего probl, а то кофе закончилось гадать не на чем
18 июл 12, 18:57    [12885286]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
Я уже не надеялся, что кто-то ответит :)
Ошибки нету, просто вставляется NULL в 16-ой колонке при наличии в предыдущей колонке кавычек. Если кавычки убрать - все нормально.

Конфигурация вот:


/****** Object:  LinkedServer [Probl]    Script Date: 07/19/2012 14:53:13 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'Probl', @srvproduct=N'Jet 4.0', @provider=N'Microsoft.Jet.OLEDB.4.0', @datasrc=N'\\GPB-UCHTA9\SYS\OIT\#Probl', @provstr=N'Text'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Probl',@useself=N'False',@locallogin=NULL,@rmtuser=N'admin',@rmtpassword='########'

GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'rpc', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'rpc out', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'Probl', @optname=N'use remote collation', @optvalue=N'true'
GO
19 июл 12, 15:31    [12889052]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
Konst_One
Member

Откуда:
Сообщений: 11600
надо задавать у всех полей размеры, если у вас формат Fixed. а то что у вас сейчас в схеме, работать не будет.
19 июл 12, 15:37    [12889099]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
Konst_One,

не fixed, Format = Delimited(!)
20 июл 12, 09:53    [12891618]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
qwer234
попробуйте добавить в schema.ini строку
TextDelimiter=none
20 июл 12, 10:45    [12891957]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
HandKot
qwer234
попробуйте добавить в schema.ini строку
TextDelimiter=none


Не помогло.

Видимо, никто не сталкивался и придется таки разбираться самому..
20 июл 12, 13:46    [12893249]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
qwer234
HandKot
qwer234
попробуйте добавить в schema.ini строку
TextDelimiter=none


Не помогло.

Видимо, никто не сталкивался и придется таки разбираться самому..


а Вы куда её добавили
вот была подобная тема
20 июл 12, 13:53    [12893287]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
хотя возможно драйвер поменяли
если так, то тогда искать другие пути
20 июл 12, 13:54    [12893293]     Ответить | Цитировать Сообщить модератору
 Re: openquery, text file driver  [new]
qwer234
Guest
HandKot
qwer234
пропущено...


Не помогло.

Видимо, никто не сталкивался и придется таки разбираться самому..


а Вы куда её добавили
вот была подобная тема


HandKot, все правильно добавлял. Просто надо было пересоздать линкованный сервер.
Теперь работает, спасибо!
20 июл 12, 14:23    [12893449]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить