Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
После преобразования всех полей text в varchar(max), при сохранении в БД появляются проблемы(данные сохраняются не полностью) с помощью Active Monitor просмотрел запрос к базе:
(@Param000004 int,@Param000005 int,@Param000006 varchar(12))INSERT [ISource]([XPKEY],[XLKEY],[Source]) VALUES(@Param000004,@Param000005,@Param000006)

сравнил с запросом до преобразования всех полей text:
(@Param000004 int,@Param000005 int,@Param000006 text)INSERT [ISource]([XPKEY],[XLKEY],[Source]) VALUES(@Param000004,@Param000005,@Param000006)

В коде нет явного определения типов.
Грешу на SQL Native Client.
Может кто сталкивался с таким?
25 сен 11, 18:25    [11333287]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
igas
После преобразования всех полей text в varchar(max), при сохранении в БД появляются проблемы
Очевидно, ошибка в клиенте?

Нужно спросить в форуме по вашему клиенту.
25 сен 11, 19:50    [11333374]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
Если при работе с БД использовать драйвер ODBC {SQL Server} или {SQL Native Client} и старые типы ntext, text и image проблем не возникает. Если сконвертировать типы в varchar(max), nvarchar(max), varbinary(max) и использовании драйвер ODBC {SQL Native Client} или {SQL Server Native Client 10.0}, данные урезаются(сохраняется только 12 символов). Может кто знает в чём причина?
27 сен 11, 21:27    [11344971]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
igas
Может кто знает в чём причина?
Очевидно, ошибка в клиенте?

Нужно спросить в форуме по вашему клиенту.
27 сен 11, 23:22    [11345310]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
shalomb
Member

Откуда: Израиль
Сообщений: 92
Зачем ,такой геморой ,ОДВС ,а на прямую работать слабо ,и проблемы сами отпадут .
Просто ОДВС был создан для связи с другими видами баз ,198х годах и народ тогда не знал nvarchar(max)
28 сен 11, 07:32    [11345649]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
alexeyvg
Нужно спросить в форуме по вашему клиенту.

Может подскажете такой форум?
28 сен 11, 12:31    [11347216]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
igas
Может подскажете такой форум?

Это тот форум, на чем написан ваш клиент

igas
данные урезаются(сохраняется только 12 символов).

Какая команда приходит на сервер то ?
28 сен 11, 12:31    [11347223]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
Glory
Какая команда приходит на сервер то ?

Запрос к серверу указан выше
28 сен 11, 12:37    [11347294]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
igas
Glory
Какая команда приходит на сервер то ?

Запрос к серверу указан выше

Там нет присвоения переменным каких то значений
Кроме явно обзъявленного вами @Param000006 varchar(12)

Сообщение было отредактировано: 28 сен 11, 12:40
28 сен 11, 12:39    [11347317]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
Glory,
Явного определения типа в коде нет. Используются функции SQLBindCol и SQLBindParameter
28 сен 11, 13:15    [11347675]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
igas
alexeyvg
Нужно спросить в форуме по вашему клиенту.

Может подскажете такой форум?
Я не знаю, какой язык вы используете.

Можно попробовать спросить на этом сайте на форумах Delphi, C++, Visual Basic - там люди наверняка использовали ОДВС

igas
Glory,
Явного определения типа в коде нет. Используются функции SQLBindCol и SQLBindParameter
Странно, как это нет определения типа? SQLBindParameter ведь не позволяет не указывать тип, правильно?

Возможно, нужно указывать размер строки (параметр ColumnSize)?
Или вы выбрали неправильный тип в параметре ParameterType?
Или ОДВС вообще не поддерживает новые типы данных?
28 сен 11, 13:32    [11347819]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
igas
alexeyvg
Нужно спросить в форуме по вашему клиенту.

Может подскажете такой форум?
Я не знаю, какой язык вы используете.

Можно попробовать спросить на этом сайте на форумах Delphi, C++, Visual Basic - там люди наверняка использовали ОДВС

igas
Glory,
Явного определения типа в коде нет. Используются функции SQLBindCol и SQLBindParameter
Странно, как это нет определения типа? SQLBindParameter ведь не позволяет не указывать тип, правильно?

Возможно, нужно указывать размер строки (параметр ColumnSize)?
Или вы выбрали неправильный тип в параметре ParameterType?
Или ОДВС вообще не поддерживает новые типы данных?
28 сен 11, 13:34    [11347840]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alexeyvg
igas
Glory,
Явного определения типа в коде нет. Используются функции SQLBindCol и SQLBindParameter
Странно, как это нет определения типа? SQLBindParameter ведь не позволяет не указывать тип, правильно?

Есть обрывок непонятно чего
(@Param000004 int,@Param000005 int,@Param000006 varchar(12))
И есть другой обрывок того же
(@Param000004 int,@Param000005 int,@Param000006 text)

Но вот переменные типа text объявлять нельзя, а varchar(max) можно
28 сен 11, 13:36    [11347850]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
igas
Member

Откуда: Minsk
Сообщений: 175
Glory,
Поясню ещё раз ситуацию:
Клиент написан на С++ с использованием ODBC, БД была на MSDE2000 для доступа использовался {SQL Server}.
После перевода БД на SQL Server 2008 R2 Express с использованием {SQL Server Native Client 10.0} возникли проблемы с text, ntext, image(чтение выполняется нормально, при сохранении или добавлении сохраняется только 12 символов), после конвертации всех типов text, ntext, image в varchar(max), nvarchar(max), varbinary(max) проблема осталась. Отмечу что при использовании {SQL Native Client} с типами text, ntext, image проблем не возникает, а с типами varchar(max), nvarchar(max), varbinary(max) появляется эта проблема.
28 сен 11, 14:58    [11348680]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
igas
Отмечу что при использовании {SQL Native Client} с типами text, ntext, image проблем не возникает, а с типами varchar(max), nvarchar(max), varbinary(max) появляется эта проблема.

И почему вы решили, что это проблема сервера или драйвера ?
28 сен 11, 15:00    [11348709]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
igas
Поясню ещё раз ситуацию:
Клиент написан на С++ с использованием ODBC, БД была на MSDE2000 для доступа использовался {SQL Server}.
Так вам советуют - обратитесь на форум по С++, там вам подскажут, в чём дело.

Тут помогают решить вопросы, которые возникают после успешной передачи серверу команд.
28 сен 11, 15:53    [11349263]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
shalomb
Member

Откуда: Израиль
Сообщений: 92
Glory, в 2008 нет Native client , и он пользуется по умолчанию драйвером 2008 клиент ,посмотри в фитчерах микрософта есть дополнительная инсталяция ОДВС она помойму даже от 2005 ,но лежит в фитчерах 2008 накати его должно помочь ,у меня было подобное у клиента. Удачи.
28 сен 11, 17:29    [11350207]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
shalomb
Glory, в 2008 нет Native client , и он пользуется по умолчанию драйвером 2008 клиент

Кто на ком стоял ?
28 сен 11, 17:32    [11350228]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
shalomb
Glory, в 2008 нет Native client , и он пользуется по умолчанию драйвером 2008 клиент ,посмотри в фитчерах микрософта есть дополнительная инсталяция ОДВС она помойму даже от 2005 ,но лежит в фитчерах 2008 накати его должно помочь ,у меня было подобное у клиента. Удачи.
Щито... O_o
28 сен 11, 17:33    [11350240]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
shalomb
Glory, в 2008 нет Native client , и он пользуется по умолчанию драйвером 2008 клиент ,посмотри в фитчерах микрософта есть дополнительная инсталяция ОДВС она помойму даже от 2005 ,но лежит в фитчерах 2008 накати его должно помочь ,у меня было подобное у клиента. Удачи.
А что такое фитчер?
28 сен 11, 17:55    [11350403]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alexeyvg
А что такое фитчер?

наверное feature(особенность)
28 сен 11, 17:57    [11350415]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с SQL Native Client при сохранении в varchar(max)  [new]
naPmu3aH
Member

Откуда: из лесу
Сообщений: 1449
SQL Server Native client, кстати, обновляется почти с каждым SQL Server Service pack...
28 сен 11, 23:24    [11351738]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить