Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Добрый день всем!

В общем, ситуация такая. Есть программа для работы с базой документов и их шаблонов, написанная еще в 2000 году. База подключена к SQL Server, а программа в свою очередь, используя именованные каналы и BDE, подключается к SQL Server. Я сам не специалист по SQL, смог заставить программу работать с SQL Server 2000 Personal Edition. Сейчас по соображениям лицензионности нужно все это запустить на SQL Server 2005 Express или SQL Server 2008 Express, но у меня никак не получается. С версией 2008 программа просто не видит сервер, а с 2005 - вылетает при попытке подключения (хотя BDE успешно проходит тест соединения в настроенном источнике данных). Может у кого-нибудь будут идеи, что там специфическое нужно настроить в SQL Server? Заранее спасибо!
4 окт 12, 20:02    [13270364]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Через BDE-шный MSSQL драйвер возможно будет соединиться с 2005-м, и то, только если язык логина будет английским. С более старшими версиями соединится вообще не получится.
Обходной путь: создать источник ODBC и работать через BDE-шный ODBC драйвер. Но приложение на такой трюк может обидится.
4 окт 12, 20:28    [13270416]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

аутентификация происходит по встроенному sa (думаю, что программа вообще не поддерживает соединение через пользователей Windows).
5 окт 12, 07:37    [13271263]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
гоги и бебаг
Guest
X-ray555
с 2005 - вылетает при попытке подключения (хотя BDE успешно проходит тест соединения в настроенном источнике данных)

"подключение" - это видимо уже некий клиентский код инициализации сессии? раз сам коннект проходит.
смотрите что за ошибки и в каком месте.
серверную сами знаете как поймать, клиентскую - логи и дебаг.
5 окт 12, 09:21    [13271491]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
X-ray555,

Язык можно настроить для логинов любого типа.
5 окт 12, 10:26    [13271886]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

смена языка для логинов не помогла... :-(


гоги и бебаг,

программа при вылете выдает вот это:
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: Program.Exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 2a425e19
Имя модуля с ошибкой: ntdll.dll
Версия модуля с ошибкой: 6.1.7601.21861
Отметка времени модуля с ошибкой: 4ec49970
Код исключения: c0000005
Смещение исключения: 0001f7f3
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0b37
Дополнительные сведения 2: 0b37f2a82a39c46b6fca55be6fc02291
Дополнительные сведения 3: 909f
Дополнительные сведения 4: 909fb1976c312d4eb87f6553f0a07998

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt
5 окт 12, 13:38    [13273800]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
А параметры сортировки по умолчанию, которые указываются при установке SQL Derver, на это не могут влиять?
Хотя по умолчанию и во всех версиях SQL Server стоит Cyrillic_General_Cl_AS, в базах, с которыми работает эта программа параметры сортировки - SQL_Latin1_General_CP1251_Cl_AS.
5 окт 12, 13:45    [13273852]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
X-ray555
invm,

смена языка для логинов не помогла... :-(
Как и где вы его меняли?
5 окт 12, 13:50    [13273887]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

Managment Studio, сервер, безопасность, имена входа, sa - свойства, язык по умолчанию.
5 окт 12, 15:36    [13274723]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
iap
Member

Откуда: Москва
Сообщений: 47052
invm
Через BDE-шный MSSQL драйвер возможно будет соединиться с 2005-м, и то, только если язык логина будет английским. С более старшими версиями соединится вообще не получится.
А как же у нас в ископаемых местах программ получается работать с SQL 2008 Enterprise Edition?
5 окт 12, 16:02    [13274962]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
iap
invm
Через BDE-шный MSSQL драйвер возможно будет соединиться с 2005-м, и то, только если язык логина будет английским. С более старшими версиями соединится вообще не получится.
А как же у нас в ископаемых местах программ получается работать с SQL 2008 Enterprise Edition?
Может у вас BDE+ODBC? У нас, в свое время, никакие бубны не помогли для связки BDE+DB-Library.
5 окт 12, 16:16    [13275100]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
X-ray555,

Сообщение об ошибке обнародуйте.
5 окт 12, 16:36    [13275288]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

Семью постами выше ведь...
5 окт 12, 16:51    [13275436]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3348
База в режиме совместимости с 2000?
5 окт 12, 17:34    [13275744]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Ennor Tiegael,

да
5 окт 12, 17:47    [13275814]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Ну а может быть есть какие-нибудь другие СУБД, которые хорошо совместимы с базами старых версий SQL Server?
8 окт 12, 17:15    [13286100]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
invm
Member

Откуда: Москва
Сообщений: 9646
Вот что удалось проверить:
BDE 5.01, в качестве клиента выступал BDEAdmin, ntwdblib.dll 8.0.2039
SQL auth(en) Win auth(en)SQL auth(ru) Win auth(ru)
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4263.0 (X64) Aug 23 2012 15:56:56 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)failfailfailfail
Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.1 (Build 7601: Service Pack 1)okokokok
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM)okokokok
8 окт 12, 17:47    [13286337]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

В BDE нажимаю "Проверить источник данных", он пишет:
автор
Драйвер ODBC для Microsoft SQL Server, версия 06.01.7601

Запуск проверок связи...

Попытка соединения
Соединение установлено
Проверка значений параметров
Отключение от сервера

ТЕСТ УСПЕШНО ЗАВЕРШЕН!


А программа вылетает... Может в новом драйвере ODBC что-то убрали и теперь он не контачит? Интересно, можно ли его заменить без вреда? У того, который ставился вместе с SQL Server 2000 была версия 2000.85.1132.00
8 окт 12, 19:56    [13286959]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
X-ray555,

заменил ODBC драйвер на тот, который был ставится с SQL Server 2000, ситуация не изменилась...
8 окт 12, 20:40    [13287097]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
invm,

Вы были правы насчет языка логина!!! Но только если его менять прямо в свойствах сервера, вкладка "дополнительно". А смена через "безопасность" не помогла тогда. Но все равно большое спасибо за помощь!
Правда осталась пара замечаний к работе программы... Такое ощущение, будто SQL Server 2005 больше тормозит в обработке базы, чем его 2000 версия... И еще интересно то, что программа на компьютере с 2005 версией может подключиться к базам, находящимся на компьютере с 2000 версией, а наоборот не получается... ну это не то, чтобы проблема... буду на втором компе ставить 2005 версию и уже доводить до ума, надеюсь, все получится...

Всем спасибо за советы! Если что, еще напишу :-)
8 окт 12, 21:23    [13287277]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Как я и ожидал, обнаружились проблемы :-((( Во-первых, как я понял, Managment Studio в SQL Server 2005 подключается к серверу только через общую память (в SQL Server 2000 у меня везде все, кроме именованных каналов, отключено и все работает). Во-вторых, программа видит сервер только через имя канала в BDE \\.\pipe\sql\query, то есть как я понимаю, это чисто локальное подключение. Никакие варианты типа \\COMPNAME\pipe\sql\query, \\COMPNAME\SQLEXPRESS\pipe\sql\query или просто \pipe\sql\query не проходят - как с этого же компьютера, так и по сети с другого компа с настроенным SQL Server 2005 и BDE.
В настройках контактной зоны как у localhost, так и у COMPNAME выбрал и разрешил локальные и удаленные соединения по именованным каналам (не помогает).
Чтобы к SQL Server 2000 подключиться - там просто на автомате во всех полях BDE настройки именованных каналов написано имя сервера и все работает. А заумности SQL Server 2005 что-то не могу осилить... :-(
9 окт 12, 21:02    [13292668]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
автор
Никакие варианты типа \\COMPNAME\pipe\sql\query, \\COMPNAME\SQLEXPRESS\pipe\sql\query или просто \pipe\sql\query


1. select @@SERVERNAME
а то такое впечталение ,что вы просто не знаете как называется ваш сервер
2. поробуйтк всемто имени заюзать ip
\\COMPNAME\pipe\sql\query - > \\ipadress\pipe\sql\query
3. Попробуйте создать алиас на вас сервер и через него подключиться
4. У вас служба SQL Browser вообще запущена м настроена ?
10 окт 12, 00:22    [13293192]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Maxx,

1. Ну да, имя сервера.
2. Попробую.
3. Здесь, пожалуйста, поподробнее, где и как это сделать?
4. SQL Browser вообще не трогал (не задумывался даже, т.к. 2000 версия без проблем сразу работает).
10 окт 12, 07:25    [13293559]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
Glory
Member

Откуда:
Сообщений: 104751
X-ray555
Во-первых, как я понял, Managment Studio в SQL Server 2005 подключается к серверу только через общую память

Вы неправильно поняли.
X-ray555
Во-вторых, программа видит сервер только через имя канала в BDE \\.\pipe\sql\query, то есть как я понимаю, это чисто локальное подключение.

Любое подключение по сетевому протоколу является сетевым подключением. Даже если сервер и приложение находятся на одной машине

http://msdn.microsoft.com/en-US/library/ms190608%28v=sql.90%29.aspx
http://msdn.microsoft.com/en-US/library/ms187853%28v=sql.90%29.aspx
10 окт 12, 09:30    [13293768]     Ответить | Цитировать Сообщить модератору
 Re: Проблема совместимости новых SQL Server со старой программой  [new]
X-ray555
Member

Откуда:
Сообщений: 16
Maxx,

За совет со службой SQL Browser спасибо - была отключена, запустил, теперь BDE на самом сервере нормально прописывает источник данных и успешно выполняет тест подключения по имени канала \\SERVERNAME\pipe\sql\query, программа также работает. А вот с другого компьютера через сеть BDE отказывается подключаться, хотя я аналогично прописал псевдоним в настройках SQL клиента и имя канала при создании источника данных в BDE (если писать ip адрес, то все равно не помогает).

Алиас, я так понимаю, это и есть создание источника данных в BDE?


Glory,

Согласен, насчет общей памяти я был неправ.
Ссылки посмотрел, но там какие-то общие, очевидные вещи, полезных мыслей не нашел, может конечно плохо искал...
10 окт 12, 21:43    [13299064]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить