DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ASP.NETからOracleDBへ接続不能 Windows7環境にて

環境/言語:[Microsoft Visual Web Developer 2008 Express Edition ASP.NET .NET Tramework 3.5 SP1]
分類:[ASP.NET]

皆さま

いつも大変ご参考にさせていただいております。
ASP.NETでOracleDBへ接続を試しているのですが、
3日悩んでも解決できず、投稿致しました。

接続する際のメイン記述は、web.config内に記述してます。

記述内容をコマンドプロンプトからOracleDBへ接続可能ですが、
ASPXファイル内でデザインモードから接続を試すと
接続NGとなります。
※ORA-12154:TNS:指定された接続識別子を解決できませんでした。

Windows7というOS環境が悪影響をさせているのでしょうか。
コーディングに注意点やアドバイス、接続サンプルなど
アドバイス頂けたら幸いです。

宜しくお願い致します。

■環境
OS:Windows7(32Bit/64Bit)
Microsoft Visual Web Developer 2008 Express Edition
ASP.NET、VB.NET2005 .NET Tramework 3.5 SP1

■DB
Oracle Database 10g Express Edition

■コマンドプロンプト
tnsping の結果ではOKとなっております
〜〜結果、抜粋〜〜
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-4月 -
2011 15:33:08

Copyright (c) 1997, 2005, Oracle. All rights reserved.

パラメータ・ファイルを使用しました:
C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\sqlnet.ora

エイリアスを解決するためにTNSNAMESアダプタを使用しました。
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))
)
OK (350ミリ秒)

■コマンドプロンプトからSQLPLUSを起動
 ID/PASSWORD@XE
 と入力するとOracleDBへ接続でき、SELECTの結果も戻ってきます。

■ASPXファイル内からDB接続命令を記述しております。
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:DBTestConnectionString %>"
ProviderName="<%$ ConnectionStrings:DBTestConnectionString.ProviderName %>"
SelectCommand="SELECT A.* , A.PURCHASING_AMOUNT * A.EXTRA_CHARGE AS CHARGE_SUM FROM &quot;PACKAGE_DETAIL&quot; A WHERE (&quot;ORDER_NO&quot; = Replace( :ORDER_NO , 'XXX' , '' ) )">
<SelectParameters>
<asp:QueryStringParameter Name="ORDER_NO" QueryStringField="ORDER_NO"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>

 ・ConnectionStringの記述内容は
  web.configファイル内に記述しております。
  
<add name="DBTestConnectionString" connectionString="Data Source=ホスト名/XE;Persist Security Info=True;User ID=ID123456;Password=password;Unicode=True"
providerName="System.Data.OracleClient" />
添付ファイル: Oracle_DB_NG.gif (25 KB)
自己解決致しました。

以前、インストールしていたOracleをアンイストール&フォルダー削除してから
ORACLEのWEBよりODTwithODAC1110720.zipとOracle.DataAccess.dllをDLしました。
解答後、画面に従って操作し、無事に接続できました。


■No28492に返信(はちまきさんの記事)
> 皆さま
>
> いつも大変ご参考にさせていただいております。
> ASP.NETでOracleDBへ接続を試しているのですが、
> 3日悩んでも解決できず、投稿致しました。
>
> 接続する際のメイン記述は、web.config内に記述してます。
>
> 記述内容をコマンドプロンプトからOracleDBへ接続可能ですが、
> ASPXファイル内でデザインモードから接続を試すと
> 接続NGとなります。
> ※ORA-12154:TNS:指定された接続識別子を解決できませんでした。
>
> Windows7というOS環境が悪影響をさせているのでしょうか。
> コーディングに注意点やアドバイス、接続サンプルなど
> アドバイス頂けたら幸いです。
>
> 宜しくお願い致します。
>
> ■環境
> OS:Windows7(32Bit/64Bit)
> Microsoft Visual Web Developer 2008 Express Edition
> ASP.NET、VB.NET2005 .NET Tramework 3.5 SP1
>
> ■DB
> Oracle Database 10g Express Edition
>
> ■コマンドプロンプト
> tnsping の結果ではOKとなっております
> 〜〜結果、抜粋〜〜
> TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-4月 -
> 2011 15:33:08
>
> Copyright (c) 1997, 2005, Oracle. All rights reserved.
>
> パラメータ・ファイルを使用しました:
> C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\sqlnet.ora
>
> エイリアスを解決するためにTNSNAMESアダプタを使用しました。
> Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
> (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))
> )
> OK (350ミリ秒)
>
> ■コマンドプロンプトからSQLPLUSを起動
>  ID/PASSWORD@XE
>  と入力するとOracleDBへ接続でき、SELECTの結果も戻ってきます。
>
> ■ASPXファイル内からDB接続命令を記述しております。
> <asp:SqlDataSource ID="SqlDataSource1" runat="server"
> ConnectionString="<%$ ConnectionStrings:DBTestConnectionString %>"
> ProviderName="<%$ ConnectionStrings:DBTestConnectionString.ProviderName %>"
> SelectCommand="SELECT A.* , A.PURCHASING_AMOUNT * A.EXTRA_CHARGE AS CHARGE_SUM FROM &quot;PACKAGE_DETAIL&quot; A WHERE (&quot;ORDER_NO&quot; = Replace( :ORDER_NO , 'XXX' , '' ) )">
> <SelectParameters>
> <asp:QueryStringParameter Name="ORDER_NO" QueryStringField="ORDER_NO"
> Type="String" />
> </SelectParameters>
> </asp:SqlDataSource>
>
>  ・ConnectionStringの記述内容は
>   web.configファイル内に記述しております。
>   
> <add name="DBTestConnectionString" connectionString="Data Source=ホスト名/XE;Persist Security Info=True;User ID=ID123456;Password=password;Unicode=True"
> providerName="System.Data.OracleClient" />
>
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板