Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Вопрос по-поводу SET CONCAT_NULL_YIELDS_NULL OFF. Эта установка действует только в пределах SP (QA), а затем всё возвращается к ON? А как сделать чтоб навсегда??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 17:29 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Я ж там ниже не зря упоминание о sp_dboption поместил - см. BOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 20:36 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
SET действует _только_ во время _активной_ сессии (той, в которой Вы этот SET и установили) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 20:43 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Т.е. что-то вроде: exec sp_dboption 'YourDatabaseName','concat null yields null','false' /* or 'off' */ только, если честно, у меня чего-то не сработало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 20:49 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Connection-level settings (set using the SET statement) override the default database setting for CONCAT_NULL_YIELDS_NULL. By default, ODBC and OLE DB clients issue a connection-level SET statement setting CONCAT_NULL_YIELDS_NULL to ON for the session when connecting to SQL Server. А вот как исправить поведение для ODBC драйверов не знаю ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 20:55 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Т.е. что-то вроде: exec sp_dboption 'YourDatabaseName','concat null yields null','false' /* or 'off' */ только, если честно, у меня чего-то не сработало --------- ну дык, а зачем false в кавычки брать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 21:11 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
2 Alexander: А что не сработало-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2001, 21:17 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь Я тут покопался в НЕТЕ и обнаружил, что данная фишка многих разработчиков беспокоила. К примеру : -------------------------------------------------------------------------------------------If you SET CONCAT_NULL_YIELDS_NULL OFF in Query Analyzer, that should work for subsequent commands in that connection, but will not affect other existing or new connections. You can set the database option, but new connections will still set it to ON of they use OLEDB or ODBC (according to books online, subject 'Setting Database Options') I tried setting the option off in the database using sp_dboption database, 'concat null yields null', 'off' then starting a new Query Analyzer session, and it was still set to ON for the session, until I did a SET CONCAT_NULL_YIELDS_NULL OFF. Therefore I think you need to explicitly set it to OFF each time you start a new session Mike Smart MCSD MCDBA http://www.sqlmag.com/Forums/thread.cfm?CFApp=57&Message_ID=177834) ------------------------------------------------------------------------------------------- Microsoft implemented the ANSI standard way of working with null in SQL Server 7.0, which handles it correctly. For backward compatibility, you can also use the CONCAT_NULL_YIELDS_NULL SET option; you can set this option for a database with sp_dboption or per session with a SET statement. If you’ve turned CONCAT_NULL_YIELDS_NULL off, you’ll see the SQL Server 6.5 behavior you described. Books Online (BOL) has more information on null in SQL Server 7.0. Also, see Inside SQL Server, "Controlling Query Behavior" (January 2000). ------------------------------------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 10:00 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
На а если серьёзно, ребята, то как справиться с самоуправством "You can set the database option, but new connections will still set it to ON of they use OLEDB or ODBC (according to books online, subject 'Setting Database options')"&??????????????????????????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 10:07 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Пока я выхожу из создавшегося затруднения вот так (листинг VBA): Dim DB As Database Dim qr As QueryDef Dim st_sq As String Set DB = CurrentDb() Set qr = DB.CreateQueryDef("viza") qr.connect = ... With qr .SQL = "SET CONCAT_NULL_YIELDS_NULL OFF" .ReturnsRecords = False .Execute End With st_sq = "SELECT ...." qr.SQL = st_sq qr.ReturnsRecords = True Me.Combo0.RowSource = "SELECT * FROM viza_b" qr.Close Set qr = Nothing Set DB = Nothing st_sq = "" Т.е. тупо устанавливаю параметр "SET CONCAT_NULL_YIELDS_NULL OFF" в каждом соединении (за что отдельное спасибо Alexandr Chepack) Все равно лучше, чем переделывать кучу запросов к серверу или переписывать их на SP... Хотя рад буду услышать альтернативное мнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 10:35 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Можно узнать посредством чего Вы устанавливаете соединение с сервером ODBC или OLEDB с родным SQL Server провайдером? А то что QA все равно использует concat_null_yields_null так это в опция самой QA нужно убрать этот параметр который устанавливается по умолчанию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 11:35 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
2 REX_X Один из вариантов соединения : qr.connect = "ODBC;UID=sa;PWD=;DSN=MYDSN;SERVER=MYSERVER;USE_TRUSTED_CONNECTION=YES" А настройки QA в данном случае, сами понимаете, ничего не дадут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 14:16 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
--------- ну дык, а зачем false в кавычки брать? ----------------------------------------- Не очень вежливый, но совершенно исчерпывающий ответ: RTFM. Намек - а Вы часто в SQL Server'е величины TRUE или FALSE используете? Не расскажите как Вам это удается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 15:26 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
И все-таки, по поводу "А вот как исправить поведение для ODBC драйверов не знаю ..." Если вдруг узнаете, можете на меня рассчитывать в трудную минуту P.S. Не обижайтесь на REX_X - у каждого свой способ выражать свои мысли, хотя Ваш, Alexander Chepack, мне нравится больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 16:18 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Опаньки... По порядку: >Не очень вежливый, но совершенно исчерпывающий ответ: RTFM. да, да, читаю перед сном, и даже вычитал (уже) что можно брать, а можно и не брать, в кавычки значения параметров БД.... да видно плохо читаю - спать охота все время >Намек - а Вы часто в SQL Server'е величины TRUE или FALSE используете? В смысле, Вы хотели спросить чаще ли чем ON или OFF? >А настройки QA в данном случае, сами понимаете, ничего не дадут А никто этого и не говорил, IMHO. Это я к цитате 'Умного' Майка, (MCSE и MCSD) который, бедняга, как ни крутил, а не смог создать новые сессии в QA с требуемой опцией без явного указания оной с помощью SET. Нет чтоб зайти сначала в Tools->Options->Connections Properties Ну, кажись отмазался. Что до наших баранов. Вот цитата с MSDN: When the SQL Server ODBC driver connects to an instance of SQL Server, the server detects that the client is using the ODBC driver and sets several options on. The options set on by SQL Server 2000 are the same as those turned on by SET statements when the driver connects to an instance of SQL Server version 6.5, except that SQL Server 2000 also sets on the CONCAT_NULL_YIELDS_NULL option. Как ни крути, а ODBC (собственно как и OLEDB) "заставляют" сервер делать "это" легче уж в коде isnull использовать чем все время set отрабатывать, IMHO. Хотя кому как... PS. "НЕ НЯАДО МЮУСОРИИТЬ.."(c) Joanna Stingrey Господа.. будем вежливыми, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 22:02 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
О кавычках - есть у нас один клиент - он тоже кавычками не пользовался, т.к. SQL сам "закавычивает" строки - ну и дальше при стравнении: SomeVarcharValue = 123 в SQL2K у него все перестало работать, т.к. SQL начал честно считать 123 не строкой, а числом - т.е. лучше все-таки явно строки в кавычки заключать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2001, 23:11 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Большое спасибо Вам, REX_X, и Вам, Alexandr Chepack, за помощь Очень огорчен, что косвенно стал причиной небольшого столкновения взглядов. Извините, если что не так. Сам я за день больше всего устаю от попыток наладить отношения с пользователями различного плана, поэтому становлюсь чрезвычайно чувствительным к резкому выражению чьего-либо мнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2001, 10:17 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Alexander, ВСЕ что я утверждал касательно кавычек - это то, что команда типа set 'pubs', 'concat_nuul_yields_null', false будет выполнятся так же замечательно как и set 'pubs', 'concat_nuul_yields_null', 'false'. И не более.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2001, 10:36 |
|
||
|
2 Alexander Chepack from AlexUnik
|
|||
|---|---|---|---|
|
#18+
Вот и хорошо Снова чистое небо и светит солнце на бескрайних пространствах этой замечательной конференции И всё таки, если кто накопает инфу на тему "как контроллировать установки умолчания" в вышеозначенном случае, буду очень благодарен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2001, 10:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32006042&tid=1826703]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 359ms |

| 0 / 0 |
