Я предпочитаю следующий синтаксис:
Dim number As Integer = 1
Dim str As String = String.TryCast(number)
If str IsNot Nothing Then
Ха можно сказать, что я обычно пишу код в C#. 8)
причина я предпочитаю, чтобы TryCast был Вами, не должны смешивать с издержками кастинга исключений. Ваш бросок или успешно выполняется или Ваша переменная, инициализируется к пустому указателю, и Вы имеете дело с этим соответственно.
РЕДАКТИРОВАТЬ: Я пересмотрел этот ответ для модернизации. Кроме того, чтобы уточнить, ClickOnce - это просто инструмент развертывания приложения, то, как использовать Oracle Client и ODP.Net с вашим приложением, по-прежнему определяется архитектурой. Вот краткое изложение наиболее распространенных сценариев:
Ваше клиентское приложение, развернутое ClickOnce, установлено на машинах пользователей, но обращается к какой-то службе для работы с данные. В этом сценарии вашему клиентскому приложению не требуется распространять Oracle Client или ODP.Net.
Пакет Oracle Client и ODP.Net должен быть установлен с помощью обычных инструкций Oracle на машине, на которой размещена серверная служба, и на него следует ссылаться из этого проекта / приложения, как и любая другая библиотека, которая будет использоваться / распространяться.
Конкретный сценарий, который мы здесь обсуждаем, заключается в том, как распространить Oracle Client и ODP.Net в вашем приложении (например, когда у ваших пользователей не установлены эти продукты на своих машинах). Ниже приведены инструкции:
Загрузите пакет Oracle Data Access Components .
(A) текущая версия - ODAC 11.2 Release 4 (11.2.0.3) и включает поддержку Microsoft Entity Framework 4.
(B) Вам понадобится установленная 32-разрядная версия ODP.Net, поскольку Visual Studio является 32-разрядным приложением. Затем вы можете скомпилировать целевой процессор и разрядную версию при развертывании.
В пакете ODAC находятся библиотеки Oracle Instant Client и ODP.Net. Вам необходимо скопировать мгновенные клиентские библиотеки в свое приложение и установить для них «Всегда копировать»
Ссылка Oracle.DataAccess.
Примечания
A. Существует две основные версии мгновенного клиента: полная версия (прибл. 115 МБ) с поддержкой нескольких языков и версия Lite (прибл. 28 МБ) с поддержкой только английского языка.
B. ВАЖНО Убедитесь, что все развернутые библиотеки относятся к одной и той же версии клиента - это означает, что если вы развертываете 32-разрядную версию ODP.Net, вам придется развернуть 32-разрядные мгновенные клиентские библиотеки. Если вы используете мгновенный клиент 11.2, вы не можете использовать 11.0 ODP.Net и т. Д. - глупо, но многие люди это игнорируют; используйте хороший контроль версий.
C. По моему опыту, следующие библиотеки были помещены в корень моего проекта (чтобы избежать проблем с разрешениями или% PATH%)
oci.dll, ociw32.dll, orannzsbb11.dll, oraocci11.dll, oraociicus11.dll, oraops11w .dll
Сводка и результаты:
Мгновенный клиент поддерживает развертывание xcopy, поэтому тот же подход (включая их в развертывание ClickOnce) должен сделать его приемлемым для развертывания.
Однако! Во многих случаях может быть более целесообразным (с ClickOnce) использовать подход «умного клиента», то есть осуществлять доступ к данным через сервер приложений через веб-службы. Тогда вам не нужны никакие компоненты DAL в клиенте.
Развертывание XCOPY - это самое близкое к развертыванию с ODP.NET однократное развертывание по щелчку мыши.
Я только что ответил на еще одно ваше сообщение, здесь будет много подробностей о развертывании XCOPY.
Пожалуйста, посмотрите:
Christian Shay Oracle
EDIT: Oracle объявила, что где-то в 2011 году они выпустят полностью управляемую версию поставщика ODP.NET (также известного как тонкий клиент). Когда это произойдет, ODP.NET не будет зависеть от каких-либо других файлов, и развертывание ClickOnce станет проще.
Не стесняйтесь оставлять свои отзывы об этой и других будущих функциях на нашем веб-сайте запросов функций: http: / /apex.oracle.com/pls/apex/f?p=18357:46[12155 visible