<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diário de Códigos &#187; ASP.NET</title>
	<atom:link href="http://diariodecodigos.info/category/net/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>http://diariodecodigos.info</link>
	<description>Codigos Fonte, Artigos e Dicas</description>
	<lastBuildDate>Tue, 03 May 2011 17:42:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Criptografar Connection String (App.Confing / Web.Config)</title>
		<link>http://diariodecodigos.info/2010/10/criptografar-connection-string-app-confing-web-config/</link>
		<comments>http://diariodecodigos.info/2010/10/criptografar-connection-string-app-confing-web-config/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 02:47:19 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=1109</guid>
		<description><![CDATA[public static void ProtectSection(String sSectionName) { // Open the app.config file. Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); // Get the section in the file. ConfigurationSection section = config.GetSection(sSectionName); // If the section exists and the section is not readonly, then protect the section. if (section != null) { if (!section.IsReadOnly()) { // Protect the section. section.SectionInformation.ProtectSection(&#38;quot;RsaProtectedConfigurationProvider&#38;quot;); section.SectionInformation.ForceSave]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp;">

public static void ProtectSection(String sSectionName)
 {
 // Open the app.config file.
 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
 // Get the section in the file.
 ConfigurationSection section = config.GetSection(sSectionName);
 // If the section exists and the section is not readonly, then protect the section.
 if (section != null)
 {
 if (!section.IsReadOnly())
 {
 // Protect the section.
 section.SectionInformation.ProtectSection(&amp;quot;RsaProtectedConfigurationProvider&amp;quot;);
 section.SectionInformation.ForceSave = true;
 // Save the change.
 config.Save(ConfigurationSaveMode.Modified);
 }
 }

&lt;span id=&quot;more-1109&quot;&gt;&lt;/span&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2010/10/criptografar-connection-string-app-confing-web-config/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET + Oracle &#8211; Parte 1</title>
		<link>http://diariodecodigos.info/2009/12/asp-net-oracle-parte-1/</link>
		<comments>http://diariodecodigos.info/2009/12/asp-net-oracle-parte-1/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:00:00 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=775</guid>
		<description><![CDATA[Aprenda a instalar o ODAC (Oracle Data Access Component) no windows junto com o Visual Studio 2008 e construir um aplicativo ASP.NET consultando informações no Oracle Database]]></description>
			<content:encoded><![CDATA[<p><a href="http://diariodecodigos.info/wp-content/uploads/2009/12/ASPNET.png"><img class="aligncenter size-full wp-image-776" title="ASPNET" src="http://diariodecodigos.info/wp-content/uploads/2009/12/ASPNET.png" alt="ASPNET" width="550" height="57" /></a></p>
<p><span id="more-775"></span></p>
<p>Deixo claro que não irei a fundo sobre a Administração e a Instalação do Oracle Database , neste artigo estou usando a versão <strong>10g</strong> dentro de uma máquina virtual com <strong>CentOS 5.3, </strong>mas iremos abordar nesta primeira parte sobre a instalação do <strong>ODAC </strong>(Oracle Data Access Components) e alguns dos <em>principais conceitos sobre o Oracle Database</em>.</p>
<h2><span style="color: #0000ff;">Cenário Atual</span></h2>
<ul>
<li><strong>Oracle Database 10.2g</strong>
<ul>
<li>Enterprise Edition</li>
</ul>
</li>
<li><strong>Oracle 11g ODAC 11.1.0.7.20 with Oracle Developer Tools for Visual Studio </strong>
<ul>
<li>Oracle Developer Tools for Visual Studio 11.1.0.7.20</li>
<li>Oracle Data Provider for .NET 2.0 11.1.0.7.20</li>
<li>Oracle Providers for ASP.NET 11.1.0.7.20</li>
<li>Oracle Database Extensions for .NET 2.0 11.1.0.7.20 &#8212; Somente para upgrade</li>
<li>Oracle Provider for OLE DB 11.1.0.7.20</li>
<li>Oracle Objects for OLE 11.1.0.7.20</li>
<li>Oracle Services for Microsoft Transaction Server 11.1.0.7.20</li>
<li>Oracle ODBC Driver 11.1.0.7.0</li>
<li>Oracle SQL*Plus 11.1.0.7.0</li>
<li>Oracle Instant Client 11.1.0.7.0</li>
</ul>
</li>
<li><strong>Visual Studio 2008 </strong>
<ul>
<li>.NET Framework 3.5 SP1</li>
</ul>
</li>
</ul>
<h2><span style="color: #0000ff;">Instalando o ODAC</span></h2>
<p><strong>Passo 1 -&gt;</strong> Vamos fazer o download do ODAC no link <a href="http://www.oracle.com/technology/software/tech/windows/odpnet/index.html">http://www.oracle.com/technology/software/tech/windows/odpnet/index.html</a> &#8211; A última versão até o lançamento deste post era a 11.1.0.7.20, eu recomendo fazer o download da versão completa como descrita acima.</p>
<p><strong>Passo 2 -&gt;</strong> Descompacte o arquivo e instale-o com o OUI (Oracle Universal Installer).<br />
Nota: Não é recomendada a instalação em diretórios onde contenham espaços no nome da pasta como &#8220;Program Files&#8221; então eu recomendo colocar em &#8220;C:/Oracle&#8221;</p>
<p><strong>Passo 3 -&gt;</strong> Após instalado não está tudo pronto, é necessário fazer algumas configurações básicas:</p>
<ul>
<li><strong><span style="color: #0000ff;">1 &#8211; Variáveis:</span></strong>
<ul>
<li><strong><em><span style="color: #0000ff;"><span style="font-style: normal;">1.1 -</span></span> %ORACLE_HOME% </em></strong> é recomendável configurá-la (Ex. <em>C:\Oracle\product\11.1.0\client_2</em>)</li>
<li><strong><em><span style="color: #0000ff;"><span style="font-style: normal;">1.2 -</span></span> %PATH%</em></strong> se eu não estou muito enganado assim que você termina a instalação já é definida nessa variável um caminho similar a esse:<br />
<em>C:\Oracle\product\11.1.0\client_2\</em><br />
mas eu adicionei o caminho<br />
<em>C:\Oracle\product\11.1.0\client_2\bin</em><br />
é bom para quem gosta de usar o SQL-Plus</li>
</ul>
</li>
<li><strong><span style="color: #0000ff;">2 &#8211; SQL*NET Setup</span></strong>
<ul>
<li><strong><span style="color: #0000ff;">2.1 -</span> EZCONNECT</strong> &#8211; O <em>EZCONNECT</em> ou <em>TNSNAME</em> pode ser usado para conectar ao Oracle para execução dos scripts de confiuração do <em>Oracle Providers </em>ASP.NET bem como para utilizar os <em>Providers</em> após instalados conectando eles com o Oracle Database. Para conectar ao database usando qualquer abordagem, o arquivo <em><strong>%ORACLE_HOME%\Network\Admin\sqlnet.ora</strong> <span style="font-style: normal;">deve ser </span></em>criado contendo:
<pre class="brush: powershell;">
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
</pre>
<p>Para habilitar a autenticação usando o usuário do seu Sistema Operacional,  é necessário incluir a seguinte linha:</p>
<pre class="brush: powershell;">
SQLNET.AUTHENTICATION_SERVICES = (NTS)
</pre>
<p>Depois de configurado, você pode usar o <strong>EZCONNECT. </strong></p>
<p><strong> </strong>No  &#8220;<em><strong>data source</strong></em>&#8221; deve ser especificada no seguinte formato (Nenhum outro arquivo de configuração é necessário):</p>
<pre class="brush: powershell;">
[//]host[:port][/service_name][/server][/instance_name]
</pre>
</li>
<li><strong><span style="color: #000000;"><span style="color: #0000ff;">2.2 -</span>TNSNAME</span></strong> &#8211; É um arquivo de configuração que contém o <a title="Net Service Name" href="http://download.oracle.com/docs/cd/E11882_01/network.112/e10835/glossary.htm#BGBHHCEE" target="_blank">net service name</a> mapeado para o <a href="http://download.oracle.com/docs/cd/E11882_01/network.112/e10835/glossary.htm#BGBEDFBF" target="_blank">descritor do conector</a>. Resumindo, é utilizado para criar um <em>alias</em> para a conexão com o database. Para utilizar o <strong><em>TNSNAME</em></strong> é necessário criar o arquivo:<strong><em>%ORACLE_HOME%\Network\Admin\tnsnames.ora</em></strong> &#8211; Segue abaixo um exemplo de configuração de um alias:
<pre class="brush: sql;">
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.rio.com)
)
)
</pre>
<p>O <em><strong>protocolo</strong></em>, <em><strong>host</strong></em>, <em><strong>port</strong></em> e <strong><em>service name</em></strong> no exemplo a cima deve ser modificado apropriadamente. Nesse caso foi criado um <em>alias</em> chamado &#8220;<strong>orcl</strong>&#8221; que deve ser especificado no &#8220;<strong><em>data source</em></strong>&#8221; do string de conexão.</p>
<p>Na segunda parte deste artigo nós usaremos esse <em>TNSNAME</em> durante os exemplos.</li>
</ul>
</li>
<li><strong><span style="color: #0000ff;">3 &#8211; Executando o Script SQL</span></strong>
<ul>
<li><span style="color: #0000ff;"><strong>3.1 -</strong></span> Essa parte é importante se você for utilizar <strong><em>Providers<span style="font-weight: normal;"><span style="font-style: normal;"> no seu projeto</span></span>.</em></strong> Antes de você executar qualquer <em>Oracle Provider para ASP.NET</em> é necessário executar os <strong>scripts SQL</strong> de configuração.</li>
<li><span style="color: #0000ff;"><strong>3.2 -</strong></span> É importante informá-los que o script vai criar tabelas, stored procedures, views e roles. Eles vão pertencer ao usuário que estiver executando os scritps. Antes de mais nada, verifique se seu usuário tem os seguintes privilégios:
<ul>
<li>CHANGE NOTIFICATION</li>
<li>CREATE JOB</li>
<li>CREATE PROCEDURE</li>
<li>CREATE PUBLIC SYNONYM</li>
<li>CREATE ROLE</li>
<li>CREATE SESSION</li>
<li>CREATE TABLE</li>
<li>CREATE VIEW</li>
<li>DROP PUBLIC SYNONYM</li>
</ul>
</li>
<li><span style="color: #0000ff;"><strong>3.3 -</strong></span> Você pode executar os scripts com o SQL*Plus ou usar o<em> Oracle Developer Tools (ODT) para Visual Studio 2008. </em>se você for usar o SQL*Plus, segue uma boa dica nesse post: &#8220;<a href="http://diariodecodigos.info/2009/10/dica-prompt-do-dos-rapido/" target="_blank">Prompt do DOS Rápido</a>&#8220;, neste exemplo vamos usar o ODT.
<ul>
<li><strong><span style="color: #0000ff;">3.3.1 </span></strong>- Abra o Visual Studio 2008, vá em &#8220;<strong>tools&#8221;</strong> em seguida em &#8220;<strong><span style="color: #000000;">Run SQL*Plus Script</span></strong>&#8220;</li>
<li><strong><span style="color: #0000ff;">3.3.2 -</span></strong> Na janela do &#8220;<strong>Run SQL*Plus Script</strong>&#8221; clique no botão  &#8221;<strong>New Connection</strong>&#8220;.</li>
<li><strong><span style="color: #0000ff;">3.3.3 -</span></strong> Na janela &#8220;<strong>Connection Proprierties</strong>&#8221; selecione &#8221;<strong>Oracle Database Server (Oracle ODP.NET)</strong>&#8221; para <em>Data Source</em> e &#8220;<strong>Oracle Data Provider for .NET</strong>&#8221; para <em>Data Provider</em>. Selecione o alias TNS no <em>Data Source</em>. Se nenhum alias estiver no drop-down digite o seu <em>alias TNS</em> conforme configurado no item <strong><span style="color: #0000ff;">2.2</span></strong>. Digite o usuário e senha, ou selecione &#8220;<strong>Use Windows integrated authentication</strong>&#8220;. Clique no botão &#8220;Test Connection&#8221; para testar a conexão. Se retornar uma mensagem de sucesso! Clique no botão OK.</li>
<li><strong><span style="color: #0000ff;"> 3.3.4 -</span></strong> De volta para a janela do &#8216;<strong>Run SQL*Plus Script</strong>&#8216;, procure e selecione o script SQL a ser executado. Geralmente a localização desses scripts ficam em<br />
&#8220;<strong><em>%ORACLE_HOME%\ASP.NET\SQL</em></strong>&#8220;</li>
<li><span style="color: #0000ff;"><strong>3.3.5 -</strong></span> O script &#8220;<strong>InstallOracleASPNETCommon.sql</strong>&#8221; deve ser executado primeiro, antes de executar qualquer outro script para &#8221;<strong>Oracle Providers for ASP.NET</strong>&#8220;, depois disso não é mais necessário executar esse script novamente. Não é necessário executar todos os scripts. Por exemplo, se sua aplicação utilizar somente o &#8220;<strong>Oracle&#8217;s Membership provider</strong>&#8220;, execute somente o &#8220;<strong>InstallOracleASPNETCommon.sql</strong>&#8221; e o &#8220;<strong>InstallOracleMembership.sql</strong>&#8220;, nesta ordem.</li>
<li><strong><span style="color: #0000ff;">3.3.6 -</span></strong> Caso você deseje instalar todos os <strong>Providers</strong> execute unicamente o &#8220;<strong>InstallAllOracleASPNETProviders.sql</strong>&#8221; , para usuários do <strong>Oracle Database 9</strong> é necessário realizar algumas modificações dentro deste arquivo (abra e modifique).</li>
<li><strong><span style="color: #0000ff;">3.3.6 -</span></strong> Para a desinstalar os <strong>Providers</strong> o processo é exatamente o mesmo, os scripts &#8220;Uninstall&#8221; correspondem aos &#8220;Install&#8221;.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2><span style="color: #0000ff;">Observações e Notas:</span></h2>
<ul>
<li><strong><span style="color: #0000ff;">4 &#8211; machine.config</span></strong><br />
Após a instalação do &#8220;Oracle Providers for ASP.NET&#8221;, o arquivo  &#8220;%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config&#8221; é modificado para atenderem aos requisitos dos novos <strong>ASP.NET providers</strong>. Um alias &#8220;<strong><em>connection string</em></strong>&#8221; é criado com o nome<br />
&#8220;<strong>OraAspNetConString</strong>&#8220;, do qual é referenciado por cada &#8220;<strong>Oracle<br />
Providers for ASP.NET</strong>&#8220;. A baixo segue o exemplo de uma típica configuração feita no arquivo &#8220;<strong>machine.config</strong>&#8220;:</p>
<pre class="brush: xml;">
&lt;configuration&gt;
...
&lt;connectionStrings&gt;
...
&lt;add name=&quot;OraAspNetConString&quot; providerName=&quot;Oracle.DataAccess.Client&quot; connectionString=&quot; &quot; /&gt;
&lt;/connectionStrings&gt;
...
&lt;system.web&gt;
...
&lt;membership&gt;
&lt;providers&gt;
&lt;add name=&quot;OracleMembershipProvider&quot; type=&quot;Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.111.7.20, Culture=neutral, PublicKeyToken=89b483f429c47342&quot; connectionStringName=&quot;OraAspNetConString&quot; applicationName=&quot;&quot; enablePasswordRetrieval=&quot;false&quot; enablePasswordReset=&quot;true&quot; requiresQuestionAndAnswer=&quot;true&quot; requiresUniqueEmail=&quot;false&quot; passwordFormat=&quot;Hashed&quot; maxInvalidPasswordAttempts=&quot;5&quot; minRequiredPasswordLength=&quot;7&quot; minRequiredNonalphanumericCharacters=&quot;1&quot; passwordAttemptWindow=&quot;10&quot; passwordStrengthRegularExpression=&quot;&quot; /&gt;
...
&lt;/providers&gt;
&lt;/membership&gt;
...
&lt;/system.web&gt;
...
&lt;/configuration&gt;
</pre>
<p>O exemplo a cima mostra somente a entrada do &#8220;<strong>Oracle Membership Provider</strong>&#8220;. Os outros Providers vão ter uma sintax semelhante a esta.</p>
<p>Se o alias &#8220;OraAspNetConString&#8221; no <strong>machine.config</strong> vai ser usado pelo seu aplicativo, você deve atribuir uma &#8220;connection string&#8221; válida no &#8220;machine.config&#8221; ou sobrescrever essas configurações no  &#8220;web.config&#8221;.</li>
<li><strong><span style="color: #0000ff;">5 &#8211; Web.config </span></strong>Você pode usar o arquivo de configuração &#8220;web.config&#8221; para sobrescrever as configurações atuais do arquivo &#8220;machine.config&#8221; como mencionado anteriormente. Alguns exemplos são apresentados no &#8220;<a title="em inglês" href="http://diariodecodigos.info/o102s/ASPNET-Oracle.pdf" target="_blank">Oracle Providers for ASP.NET Developer&#8217;s Guide</a>&#8221; (pdf).</li>
</ul>
<h2><span style="color: #0000ff;">Links</span></h2>
<ul>
<li><a title="em português" href="http://www.bufaloinfo.com.br/artigos/coluna32.asp" target="_blank">Configurando Providers no ASP.NET</a></li>
<li><a href="http://otn.oracle.com" target="_blank">OTN Oracle</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/12/asp-net-oracle-parte-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

