У меня возникла проблема с некоторым сторонним программным обеспечением, которое мы используем для отслеживания использования лицензий на программное обеспечение в наших компьютерных лабораториях. Недавно мы перенесли приложение на 64-разрядную версию Server 2008 после получения заверений от компании в ее совместимости и выполнения некоторых предварительных тестов, которые показали, что приложение работает в 64-разрядной среде. К сожалению, человек, проводивший тестирование, не тестировал функциональность пары приложений, которые у меня есть, которые полагаются на доступ к данным, чтобы выполнять как живую, так и пост-обработку данных для создания некоторых отчетов.
Оказывается, приложение не имеет 64-разрядного драйвера ODBC для доступа к своим внутренним данным и не может использовать 64-разрядный драйвер ODBC для SQL Server для экспорта своих данных на SQL-сервер. Он включает и устанавливает 32-разрядный драйвер ODBC, но устанавливает его как источник данных пользователя, а не как системный источник данных, а это означает, что моя служба Windows, запускающая живую коллекцию, не может ее найти. Я также не могу создать системный DSN, поскольку консоль администратора источников данных не может найти установленный драйвер.
У меня вопрос: как мне настроить источник данных для этого подключения, к которому я могу получить доступ из службы Windows C # /. NET, работающей под системной учетной записью?
Поскольку я нашел способ сделать это, я предоставлю свое решение в качестве ответа (в соответствии с FAQ о том, как ответьте на свой вопрос).