Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Andrey A. Markine Member Откуда: г. Нижевартовск Сообщений: 32 |
если тема спецам покажется совсем простой - сорри, я врач а не проф. программист Есть медицинская программа, разработанная под Jet 4.0, но также имеющая возможность работы с SQL Express 2005. Переход обеспечивается заменой connection string в CONFIG - файле и сменой параметра DbType ="Access" на DbType="Mssql" Я установил локально SQL Express 2012, создал строку с помощью пустого udl файла и после миграции структуры базы данных с mdb в SQL все прекрасно заработало. Воодушевившись я повторил опыт с установкой этой-же базы на сетевой сервер баз данных MS SQL 2012 Standart - и опять удача, все работает, куча пользователей одновременно, и по VPN и в локальной сети, и даже через IPSec over 3G на планшете и все было-бы прекрасно, если-бы не один ньюнс: Все работает только до перезагрузки клиентской машины, а после перезагрузки дальше начинается мистика – не одна копия приложения не может подключиться к серверу и выкидывает с ошибкой: "Не удалось запустить приложение поскольку его паралельная конфигурация не правильна." Строка подключения: <connectionStrings> <add name="Citilab.RemoteReg.Properties.Settings.CitilabConnectionString" connectionString="Provider=SQLOLEDB;Persist Security Info=false;Data Source=192.168.xx.xx,1433;Network Library=DBMSSOCN;User ID=[USER_1];Password=[USER_1_Password];Initial Catalog=[MyDatabase]" providerName="System.Data.OleDb" /> С любой клиентской машины база на сервере проходит тест подключения по этой строке через udl файл, видна локальными копиями SQL Studio Management. Сам сервер виден – везде стоит 1С 8.3 и прекрасно цепляется к базам на этом сервере. При этом, если использовать локальную установку SQLEXPRESS и обозначить как Data Source = PC_NAME\SQLEXPRESS то проблем не возникает. На всех клиентах - Windows 8 x64, на сервере - Server 2012 Failover Cluster под Hyper-V Никакие установки Visual C++ 2005/2008/2010/2012 как х64 так и х86 мне не помогли. Трассировка показывает что при запуске ругается на сроку подключения "синтаксическая ошибка в XML - номер строки соответсвует строке поключения к серверу" Перебор вариантов строк подключения и разных провайдеров данных тоже не помог. Я нашел метод (даже 2) лечения проблемы - они на мой взгляд отдают ритуалистикой и шаманизмом: После перезапуска клиентской машины нужно в CONFIG - файле программы сначала изменить строку подключения на локальный инстанс SQLEXPRESS, запустить программу, войти и выйти из нее, прописать снова строку доступа к сетевой базе данных в том же файле и все работает до следующей перезагрузки. Более того если не охота ставить локально SQLEXPRESS - можно положить в каталог с программой пустую родную базу mdb, указать строку подключения к ней с режимом DbType ="Access", запустить программу 1 раз, поменять на строку подключения сетевой путь и опять все будет работать до перезагрузки хоть 100 раз выходи и запускай. Есть и условия - нельзя положить в две разные папки две копии программы, с разными строками подключения и сначала запускать локальную (с локальной строкой), а потом после выхода из нее уже сетевую. Сетевая запуститься после первого запуска локальной только из той же папки, из которой последний раз была запущена локальная. А вот локальную версию можно таскать по всему компьютеру - всегда будет запускаться из всех папок. Помогите кто чем может, или подскажите как прописать во время старта винды запуск локальной копии и ее автоматическое убийство через 1 минуту. Всем прочитавшим заранее спасибо! |
7 окт 13, 00:01 [14931558] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
Дальше - в гугл: https://www.google.ru/?gws_rd=cr&ei=PO5RUondCKqX5ATl-4CADw#newwindow=1&q=Не удалось запустить приложение поскольку его паралельная конфигурация не правильна |
||
7 окт 13, 03:14 [14931763] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |