[英]Converting SQL Server connection to Oracle database connection (ASP.NET Core MVC & C#)
我需要一點幫助。 我正在嘗試修改我的函數以使它們在 Oracle 數據庫中工作,我需要能夠讓我的Get和Create方法在我的 Oracle 數據庫上工作。
這是我的創建方法:
public void CreateRow(Person person)
{
using SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("SP_InserNewRow", con);
{
cmd.CommandType = CommandType.StoredProcedure;
}
cmd.Parameters.AddWithValue("@CODE", person.CODE);
cmd.Parameters.AddWithValue("@NAME", person.NAME);
cmd.Parameters.AddWithValue("@LASTNAME", person.LASTNAME);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
這是我的獲取方法:
public IEnumerable<Person>GetPersonList
{
var listPerson = new List<Person>;
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("select * from myview", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var person = new Person();
person.CODE = Convert.ToInt32(dr["CODE"].ToString());
person.NAME = dr["NAME"].ToString();
person.LASTNAME = dr["LASTNAME"].ToString();
listPerson.Add(person);
}
con.Close();
}
return listPerson;
}
現在,我正在嘗試將上述方法連接到 Oracle 數據庫。
我添加了這個:
using Oracle.DataAccess.Client
using Oracle.DataAccess
將我的字符串連接更改為:
"DATA SOURCE=10.204.3.1:1521/PROD;" + "PERSIST SECURITY INFO=True;USER ID=username; password=password; Pooling =False;"
我開始修改 Get 方法:
public IEnumerable<Person>GetPersonList
{
var listPerson = new List<Person>();
using (OracleConnection con = new OracleConnection(connectionString2))
{
OracleCommand cmd = new OracleCommand("select * from myview", con);
cmd.Connection = con;
cmd.InitialLOBFetchSize = 1000;
cmd.CommandType = CommandType.StoredProcedure;
var list = new listPerson();
list.CODE = Convert.ToInt32(dr["CODE"].ToString());
list.NAME = dr["NAME"].ToString();
list.LASTNAME = dr["LASTNAME"].ToString();
listPerson.Add(list);
}
con.Close();
}
return listPerson;
我有點迷路,可以幫我修改我的方法嗎?
編輯:
readonly string connectionString = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxxxxxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PROD)));User Id=xxx;Password=xxxx;"
public IEnumerable<Person>GetPersonList
{
var listPerson = new List<Person>();
using (OracleConnection con = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand("select * from myview", con);
cmd.Connection = con;
cmd.InitialLOBFetchSize = 1000;
cmd.CommandType = CommandType.Text;
con.Open();
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read()){
var list = new Person();
list.CODE = Convert.ToInt32(dr["CODE"].ToString());
list.NAME = dr["NAME"].ToString();
list.LASTNAME = dr["LASTNAME"].ToString();
listPerson.Add(list);
}
con.Close();
}
return listPerson;
}
我的編輯工作得很好。 謝謝史蒂夫:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.