Проблемы с запуском программы vb.net для пользователя с правами суперпользователя

Я написал программу на vb.net для домашнего использования, которая подключается к базе данных Progress OpenEdge. Теперь у меня действительно странная проблема во время выполнения.

У меня есть файл .exe, который запускается на моем локальном диске C:, диске C: серверов, из определенного сетевого местоположения (но не из других мест в сети) просто отлично, по крайней мере, для двух обычных пользователей. Проблема в том, что когда я отправляю его на проверку своему ИТ-менеджеру, она возвращает его и говорит, что он даже не запустится; при просмотре ошибки кажется, что при самом первом запросе выбора (что происходит до завершения загрузки формы) происходит сбой. В частности, в конечном итоге это сводится к ошибке ниже:

System.Data.Odbc.OdbcException: ERROR [HY000] [DataDirect][ODBC Progress OpenEdge Wire Protocol driver]Number contains an invalid character: ?

ОШИБКА [HY000] [DataDirect][драйвер ODBC Progress OpenEdge Wire Protocol]Номер содержит недопустимый символ: ?

сейчас, конечно, использую источники данных в Visual Studio и параметризованные запросы. Итак, да, если он пытается запустить его как прямой SQL и не заполняет параметры должным образом, тогда есть вопросительный знак в числовом поле. Мой вопрос: почему один и тот же .exe в том же месте, запущенный пользователем с ВЫСШИМи привилегиями, выдает ошибки?


person PsychoData    schedule 02.05.2014    source источник
comment
Возможно, это полезно? knowledgebase.progress.com/articles/Article/000037530   -  person Jensd    schedule 02.05.2014
comment
@Jensd Не совсем так - мой ODBC.ini содержит только Driver32=C:\Progress\OpenEdge\bin\pgoe1023.dll. Ни одна из других строк, но когда я тестирую соединение, все идет нормально, и при просмотре системного DSN я вижу указанный порт. Я не уверен, почему у администратора будут разные результаты по сравнению с обычным пользователем.   -  person PsychoData    schedule 02.05.2014


Ответы (2)


Вы инициализируете целочисленную переменную нулем (0). Знак вопроса в процессе означает неизвестное значение.

person user3957524    schedule 19.08.2014

Если вы все еще сталкиваетесь с проблемой или еще не проверили решение, проверьте эту статью базы знаний об отслеживании SQL, чтобы убедиться в правильности интерпретации/выполнения этих операторов.

При условии, что с операторами SQL все то же самое, проблема, скорее всего, в том, как запускается .exe. В зависимости от того, как запускается .exe, может быть заполнено буквенным символом, а не числовым вводом.

person MikePRGS    schedule 19.08.2014