Oracle 클 라 이언 트 설치 면제 개발 배치 방법
4663 단어 Oacle
C \ #. Net 클 라 이언 트 프로그램 을 개발 할 때 ODAC 연결 데이터 베 이 스 를 사 용 했 습 니 다. 개발 환경 에 ODP. NET 플러그 인 을 설치 해 야 합 니 다. 실제로 Oracle Client 가 설치 되 어 있 습 니 다.Oracle 을 연결 하 는 문자열 은 이 Oracle Client 의 프로필 에 직접 설 정 됩 니 다 (% ORA HOME% \ \ client 1 \ \ NetWork \ tnsnames. ora). 정 보 는 다음 과 같 습 니 다.
HJSYSDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.52)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
문자열 을 연결 하 는 IP 와 데이터베이스 인 스 턴 스 는 이 특정한 파일 에 설정 해 야 하기 때문에 개 발 된 클 라 이언 트 프로그램 과 분리 되 고 프로젝트 의 배치 에 있어 두 단계 가 더 많 습 니 다. 1) Oracle 클 라 이언 트 의 설치 (480 M 이상).2) 데이터베이스 연결 의 수 동 설정.
불필요 한 설치 과정 을 줄 이 고 데이터 베 이 스 를 연결 하 는 설정 을 프로젝트 프로그램 에 배치 하여 프로그램 배 치 를 더욱 단순화 시 키 기 위해 서 는 Oracle 클 라 이언 트 의 설치 배치 방법 이 필요 합 니 다.
2. 문제 해결
ODP. net 에서 제공 하 는 동적 라 이브 러 리 (최소 지원) 를 직접 사용 하여 프로젝트 시작 디 렉 터 리 에 배치 합 니 다. 다음 파일:
oci.dll
ociw32.dll
Oracle.DataAccess.dll
oraocci11.dll
oraociei11.dll
OraOps11w.dll
프로젝트 의 app. config 에 다음 설정 을 추가 하여 응용 프로그램 에 데이터베이스 연결 드라이버 를 제공 합 니 다.
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.DataAccess.Client" />
<add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client"
description="Oracle Data Provider for .NET"
type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
Oracle 클 라 이언 트 의 연결 인 스 턴 스 를 사용 하지 않 았 기 때문에 프로그램 에서 의 연결 은 특별히 지정 한 데이터 베 이 스 를 연결 하 는 IP 와 데이터 베이스 인 스 턴 스 정 보 를 해 야 합 니 다. 다음 과 같 습 니 다. string connectionString =
" DATA SOURCE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)"
+ "(HOST=192.168.18.52)(PORT=1521))"
+ "(CONNECT_DATA=(SERVICE_NAME=ORCL)));"
+ "USER ID=data;PASSWORD=data;";
using (OracleConnection connection = new OracleConnection(connectionString))
{
string sql = "**********";
connection.Open();
OracleCommand cmd = new OracleCommand(sql, connection);
OracleDataAdapter dataReader = new OracleDataAdapter(cmd);
DataSet dataSet = new DataSet();
dataReader.Fill(dataSet);
gridControl1.DataSource = dataSet.Tables[0];
}
실체 집합 을 사용 하기 전에 Oracle 클 라 이언 트 가 제공 하 는 연결 문자열 을 직접 사용 합 니 다. App. config 의 설정 은 다음 과 같 습 니 다 (HJSYSDB 유의). <connectionStrings>
<add name="DataEntities"
connectionString="metadata=res://*/Models.DataModel.csdl|res://*/Models.DataModel.ssdl|res://*/Models.DataModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="
DATA SOURCE=HJSYSDB;
PERSIST SECURITY INFO=True;USER ID=DATA""
providerName="System.Data.EntityClient" />
</connectionStrings>
설치 면제 방법 을 사용 한 후에 실체 집합의 연결 문자열 도 상응하는 수정 을 해 야 한다. 그 중에서 변 경 된 주요 내용 은 DATA SOURCE 의 설정 인 데 데이터베이스 서버 의 IP 주소 와 데이터베이스 실례 를 포함한다. <connectionStrings>
<add name="DataEntities"
connectionString="metadata=res://*/Models.DataModel.csdl|res://*/Models.DataModel.ssdl|res://*/Models.DataModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="
DATA SOURCE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.18.52)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));
PERSIST SECURITY INFO=True;USER ID=DATA""
providerName="System.Data.EntityClient" />
</connectionStrings>
3. 문제 총화
1. ODP. net 에서 제공 하 는 Oracle. DataAccess. dll 을 사용 할 때 서버 에 연 결 된 Oracle 버 전 및 프로그램 이 배치 한 시스템 의 버 전 문 제 를 주의해 야 합 니 다.
2. 웹 프로그램의 관련 설정 은 이 방법 과 대체적으로 같 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.