Обобщая выводы, приведенные выше, в форме ответа, так как я не могу вернуться к уточнению моих комментариев некоторое время.
Похоже, что эта проблема является результатом не ошибки кода, а расположения неверного коннектора DB2 на целевой машине или, возможно, в том, как развернуто приложение. Решение о том, кто является виновником, нужно будет сделать, посмотрев, как развертываются распространяемые части соединителя.
Один пользователь сказал, что он "неправильно ссылается на сборки в моем приложении". Это может указывать на несколько возможностей:
- Для разработки используется другая версия SDK по сравнению с той, что находится на целевой машине
- Возможно, было смешано несколько различных сборок конфликтующей версии или происхождения
- Сборки могут потребоваться для развертывания вместе с приложением, и не все. Это можно исправить, установив Copy Local = true для соответствующих сборок.
- Возможно также, что приложение компилируется для платформы, отличной от установленной на целевом компьютере клиента (скажем, x64 версия x86).
Другой человек упоминает то же самое сообщение об ошибке, возникающее по аналогичной, но немного другой причине. Это говорит: «Кажется, это проблема установки. Некоторые файлы не найдены».
В этом случае вы, вероятно, захотите переустановить клиент или диагностировать установку другим способом. Во второй ссылке выше упоминается инструмент testconn20 , который может быть доступен на установленном вами клиенте. Ваша строка подключения также может содержать некоторые подсказки; если в нем есть что-то, что может зависеть от конкретного установленного вами клиента или его возможностей, это будет другое место для проверки.
Edit:
В соответствии с моим комментарием ниже, вам может не хватать некоторых файлов или папок из развертывания ClickOnce. Если вы определили, что папка clidriver, в которой есть файлы, связанные с DB2, необходима для правильной работы приложения, необходимо проверить действие сборки, скопировать в выходной каталог и параметры файлов приложения ClickOnce. Последний может быть ключевым. Чтобы проверить это, перейдите в Публикация в свойствах проекта:
Тогда вам может потребоваться установить флажок «Показать все файлы», чтобы подтвердить состояние каждого файла в развертывании: