C#을 통해 Oracle Database에 연결하시겠습니까?
Visual Studio 2010을 통해 Oracle DB(외부)에 연결해야 합니다.하지만 저는 오라클을 제 기계에 설치하고 싶지 않습니다.프로젝트에서 저는 다음과 같이 언급했습니다.시스템Data.OracleClient.하지만 그것은 필요를 충족시키지 못한다.Oracle DB에 대해 SQL 쿼리를 실행하는 "Oracle SQL Developer IDE"가 있습니다.
지금까지의 코드는 다음과 같습니다.
private static string GetConnectionString()
{
String connString = "host= serverName;database=myDatabase;uid=userName;pwd=passWord";
return connString;
}
private static void ConnectingToOracle()
{
string connectionString = GetConnectionString();
using (OracleConnection connection = new OracleConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
Console.WriteLine("State: {0}", connection.State);
Console.WriteLine("ConnectionString: {0}",
connection.ConnectionString);
OracleCommand command = connection.CreateCommand();
string sql = "SELECT * FROM myTableName";
command.CommandText = sql;
OracleDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string myField = (string)reader["MYFIELD"];
Console.WriteLine(myField);
}
}
}
저는 지금까지 다음 블로그를 읽었습니다.
http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm
http://blogs.msdn.com/b/kaevans/archive/2009/07/18/connecting-to-oracle-from-visual-studio.aspx
지금까지 오라클에서 다운로드 받은 것은 없습니다.이를 위해 어떤 조치를 취해야 합니까?
먼저 이 사이트에서 ODP를 다운로드하여 설치해야 합니다.http://www.oracle.com/technetwork/topics/dotnet/index-085163.html
설치 후 어셈블리 Oracle의 참조를 추가합니다.DataAccess.dll.
당신은 이것을 쫓는 것이 좋습니다.
using System;
using Oracle.DataAccess.Client;
class OraTest
{
OracleConnection con;
void Connect()
{
con = new OracleConnection();
con.ConnectionString = "User Id=<username>;Password=<password>;Data Source=<datasource>";
con.Open();
Console.WriteLine("Connected to Oracle" + con.ServerVersion);
}
void Close()
{
con.Close();
con.Dispose();
}
static void Main()
{
OraTest ot= new OraTest();
ot.Connect();
ot.Close();
}
}
Oracle을 사용할 수 있습니다.Managed Data Access NuGet 패키지(.NET > = 4.0, 데이터베이스 > = 10g Release 2)
Nuget 사용
- Project ] 후 [Project]를 선택합니다.
Manage NuGet packages...
- 를 선택합니다.
Browse
, " ", "Oracle
및 설치
코드에서는 다음 Ctrl.명령어(+)를 사용하여 사용 디렉티브를 자동으로 추가합니다.
Java와 비교하여 다른 DataSource 문자열에 주목하십시오.
// create connection OracleConnection con = new OracleConnection(); // create connection string using builder OracleConnectionStringBuilder ocsb = new OracleConnectionStringBuilder(); ocsb.Password = "autumn117"; ocsb.UserID = "john"; ocsb.DataSource = "database.url:port/databasename"; // connect con.ConnectionString = ocsb.ConnectionString; con.Open(); Console.WriteLine("Connection established (" + con.ServerVersion + ")");
다음 접근방식은 Visual Studio 2013 Update 4에서 사용할 수 있습니다.솔루션 탐색기에서 [References]를 오른쪽 클릭하여 [Add references]를 선택합니다.2 - [ Assemblys ]> [ Framework ]> [ System ] 。Data.OracleClient > OK를 선택한 후 시스템을 사용하여 자유롭게 추가할 수 있습니다.Data.OracleClient는 SQL에서 Oracle로 프레픽스를 변경하는 경우를 제외하고 SQL Server 데이터베이스와 마찬가지로 데이터베이스를 처리합니다(예: Oracle XE에 링크하는 경우 OracleCommand가 됩니다.
OracleConnection oraConnection = new OracleConnection(@"Data Source=XE; User ID=system; Password=*myPass*");
public void Open()
{
if (oraConnection.State != ConnectionState.Open)
{
oraConnection.Open();
}
}
public void Close()
{
if (oraConnection.State == ConnectionState.Open)
{
oraConnection.Close();
}}
저장 프로시저를 사용하여 INSERT, UPDATE, DELETE 등의 명령을 실행하려면 다음 방법을 사용합니다.
public void ExecuteCMD(string storedProcedure, OracleParameter[] param)
{
OracleCommand oraCmd = new OracleCommand();
oraCmd,CommandType = CommandType.StoredProcedure;
oraCmd.CommandText = storedProcedure;
oraCmd.Connection = oraConnection;
if(param!=null)
{
oraCmd.Parameters.AddRange(param);
}
try
{
oraCmd.ExecuteNoneQuery();
}
catch (Exception)
{
MessageBox.Show("Sorry We've got Unknown Error","Connection Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
기본적으로 이 경우, 시스템.Data.OracleClient는 의 일부가 아닌 일부 오라클 dll에 액세스해야 합니다.넷. 솔루션:
- Oracle Client 설치 및 Windows OR의 다양한 경로 환경에 bin 위치 추가
- oraocciicus10.dll(Basic-Lite 버전) 또는 aociei10.dll(Basic 버전), oci.dll, ornzsbb10.dll 및 oraocci10.dll을 oracci10.dl을 oracle 클라이언트 설치 가능 폴더에서 응용 프로그램의 bin 폴더로 복사합니다.
언급URL : https://stackoverflow.com/questions/12568100/connecting-to-oracle-database-through-c
'programing' 카테고리의 다른 글
타이프 스크립트에서 문자열이 숫자인지 확인하는 방법 (0) | 2023.03.07 |
---|---|
영사기에서 입력에 텍스트를 가져오는 방법 (0) | 2023.03.07 |
각도에서의 객체 비교 (0) | 2023.03.02 |
기존 Angular1 웹 앱을 Cordova 앱으로 변환하는 방법 (0) | 2023.03.02 |
JSON 및 보고되지 않은 필드 처리 (0) | 2023.03.02 |