asp.netのOracleデータベースに接続しようとしています。SqlDataSourceとの接続を処理したい。以下のコードを使用すると、次のエラーが発生します。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとそれがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.ComponentModel.Win32Exception:システムは指定されたファイルを見つけることができません。
ソースエラー:
[Win32Exception(0x80004005):システムは指定されたファイルを見つけることができません。]
[SqlException(0x80131904):SQLServerへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:名前付きパイププロバイダー、エラー:40-SQL Serverへの接続を開くことができませんでした)]
これがaspxファイルです:
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataReader"
SelectCommand="SELECT * FROM PERSON "
ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>">
</asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" BackColor="WindowFrame" AllowSorting="true" AllowPaging="true">
<Columns>
<asp:BoundField HeaderText="Numarası" DataField="ID" />
<asp:BoundField HeaderText="Adı" DataField="NAME" />
<asp:BoundField HeaderText="Soyadı" DataField="SURNAME" />
</Columns>
</asp:GridView>
<br />
</div>
</form>
ただし、以下の手順で、データベースを別のコードファイルに接続できるだけでなく、データベースに直接接続することもできます。
private void ReadOracleTypesExample(string connectionString)
{
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
OracleCommand command = connection.CreateCommand();
try
{
command.CommandText = "SELECT * FROM PERSON";
OracleDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
OracleString oraclesring2 = reader.GetOracleString(1);
Label2.Text += ("<br />" + oraclesring2.ToString());
OracleString oraclestring3 = reader.GetOracleString(2);
Label3.Text += ("<br /> " + oraclestring3.ToString());
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();
}
catch (Exception e)
{
Label1.Text = e.Message;
}
finally
{
connection.Close();
}
}
Oracleデータベースには、C#の外部のツールからアクセスできます。なぜデータベースに接続できないのか想像もつきませんでした。前もって感謝します。