C#을 Oracle 데이터베이스에 연결하기 위해 필요한 최소 클라이언트 설치 공간은 얼마입니까?
클라이언트 관리툴과 Visual Studio 2008을 노트북에 다운로드하여 설치하여 C#(Visual Studio 2008)에서 Oracle 데이터베이스(10g)에 접속할 수 있었습니다.
Oracle Client 툴의 설치 공간은 200MB가 넘었고, 설치 공간도 상당히 길었습니다.
최소 가동 가능한 설치 공간이 얼마인지 아는 사람이 있습니까?하나의 DLL과 register 명령어라면 좋겠지만, Oracle home을 설치하고 다양한 환경변수를 설정해야 할 것 같습니다.
Oracle을 사용하고 있습니다.내 코드로 데이터 액세스.
Oracle 데이터베이스에 연결하려면 Oracle Client가 필요합니다.가장 쉬운 방법은 Oracle Data Access Components를 설치하는 것입니다.
설치 공간을 최소화하기 위해 다음을 권장합니다.
- Oracle(시스템)용 Microsoft 공급자를 사용합니다.Data.OracleClient)를 참조하십시오.
- Oracle Instant Client Package - Basic Lite 다운로드 :최소한의 zip 파일입니다.버전 11.1.0.6.0보다 훨씬 작은 버전 10.2.0.4를 권장합니다.
- 특정 폴더에 있는 다음 파일의 압축을 풉니다.
- v10:
- oci.module
- orannzsbb10.disples
- oraociicus10.2011
- v11 :
- oci.module
- orannzsbb11.disples
- oraociei 11.2011
- v10:
- x86 플랫폼에서는 Oracle 사용자가 이 내용을 읽지 않았으므로 Visual Studio 2003용 CRT DLL(msvcr71.dll)을 이 폴더에 추가합니다.
- 이 폴더를 PATH 환경 변수에 추가합니다.
- 응용 프로그램에서 Easy Connect Naming 메서드를 사용하여 악명 높은 TNSNAMES를 삭제합니다.ORA 컨피규레이션파일이것은 다음과 같습니다.
sales-server:1521/sales.us.acme.com.
이는 약 19Mb(v10)에 해당합니다.
이 폴더를 여러 응용 프로그램 간에 공유할 필요가 없는 경우 위의 DLL을 응용 프로그램 바이너리와 함께 발송하고 PATH 설정 단계를 건너뛸 수도 있습니다.
오라클 공급자(Oracle)를 사용해야 하는 경우Data Access)가 필요합니다.
- ODP .NET 11.1.0.6.20(Instant Client에서 동작한다고 생각되는 최초의 버전).
- Instant Client 11.1.0.6.0 입니다.
이 최신 설정은 테스트하지 않았습니다.
ODAC 11.2.0.2.1을 사용하여 Windows XP에서 위의 Pandicus에서 제안한 방법을 사용합니다.순서는 다음과 같습니다.
- ODAC 11.2 Release 3 (11.2.0.2.1 with Xcopy Deployment) 패키지를 oracle.com (53 MB)에서 다운로드하여 ZIP 압축을 풉니다.
- oci.dll(1MB), oraociei11.dll(130MB!), oraOps11w.dll(0.4MB), Oracle 등의 DLL을 수집합니다.DataAccess.dll(1MB).나머지 항목은 삭제할 수 있으며 설치할 필요가 없습니다.
- 오라클 Access Access.dll 추가, " "
using Oracle.DataAccess.Client;해서 이제 '로', '자신의 코드로', '자신의 코드로', '자신의 코드로', '자신의 코드로', '자신의 코드로', '자신의 코드로', '자신의 코드로', '자신의 코드로',OracleConnection,OracleCommand★★★★★★★★★★★★★★★★★」OracleDataReaderOracle 데이터베이스에 액세스합니다.상세한 것에 대하여는, 클래스 메뉴얼을 참조해 주세요.tnsnames.ora 컨피규레이션파일을 사용할 필요는 없습니다.접속 문자열만 올바르게 설정할 필요가 있습니다. - 위의 4개의 DLL은 실행 파일과 함께 배포해야 합니다.
2014년 현재 OPD.NET, Managed Driver는 설치 공간이 가장 작습니다.
다음은 이전(예외) 답변에서 제시한 비관리 버전과의 코드 사용률 비교입니다.http://docs.oracle.com/cd/E51173_01/win.122/e17732/intro005.htm#ODPNT148
하여 "dll"을 참조해야 .Oracle.ManagedDataAccess.dll프로젝트:ODP를 다운로드합니다.NET, 관리 드라이버 Xcopy 버전만
다음은 릴리스와 함께 패키징해야 하는 일반적인 풋프린트입니다.
Oracle.ManagedDataAccess.dllOracle.ManagedDataAccessDTC.dll
모두 합쳐서 6.4MB라는 어마어마한 용량입니다.넷 4.0
이 방법을 사용하면 ODP.net에 oracle에서 5개의 재배포 가능 파일을 사용하여 연결할 수 있습니다.
Chris 블로그 엔트리: 새로운 ODP 사용.간단한 도입으로 C#에서 Oracle에 접속할 수 있는 Net
편집: 블로그가 모두 다운될 경우를 대비해 간단한 개요를 알려드리겠습니다.
- oci.module
- Oracle.DataAccess.dll
- oraociicus11.124
- OraOps11w.dll
- orannzsbb11.disples
- oraocci11.124
- ociw32.199
모든 DLL을 동일한 ODP에서 가져와야 합니다.Net/ODAC 배포로 버전 번호 경합을 방지하고 EXE와 동일한 폴더에 모두 저장
DevArt http://www.devart.com/,(이전의 CoreLab(crlab.com)은 순수 C# Oracle 클라이언트를 제공합니다.1개의 dll로 정상적으로 동작합니다.
다음은 Oracle 11.2.0.4.0 업데이트입니다.Windows 7 에서는, 다음의 순서에 성공했습니다.System.Data.OracleClient.
1. Instant Client Package 다운로드 - Basic Lite : Windows 32비트 또는 64비트
2. 다음 파일을 시스템 경로의 위치에 복사합니다.
32비트
1,036,288 2013-10-11 oci.dll
348,160 2013-10-11 ociw32.dll
1,290,240 2013-09-21 orannzsbb11.dll
562,688 2013-10-11 oraocci11.dll
36,286,464 2013-10-11 oraociicus11.dll
64비트
691,712 2013-10-09 oci.dll
482,304 2013-10-09 ociw32.dll
1,603,072 2013-09-10 orannzsbb11.dll
1,235,456 2013-10-09 oraocci11.dll
45,935,104 2013-10-09 oraociicus11.dll
3. tnsnames.ora가 필요 없는 연결 문자열을 구축합니다.
(아래 테스트 프로그램의 예를 참조하십시오.)
4. 최소한의 C# 프로그램을 실행하여 설치를 테스트합니다.
using System;
using System.Data;
using System.Data.OracleClient;
class TestOracleInstantClient
{
static public void Main(string[] args)
{
const string host = "yourhost.yourdomain.com";
const string serviceName = "yourservice.yourdomain.com";
const string userId = "foo";
const string password = "bar";
var conn = new OracleConnection();
// Construct a connection string using Method 1 or 2.
conn.ConnectionString =
GetConnectionStringMethod1(host, serviceName, userId, password);
try
{
conn.Open();
Console.WriteLine("Connection succeeded.");
// Do something with the connection.
conn.Close();
}
catch (Exception e)
{
Console.WriteLine("Connection failed: " + e.Message);
}
}
static private string GetConnectionStringMethod1(
string host,
string serviceName,
string userId,
string password
)
{
string format =
"SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST={0})(PORT=1521))" +
"(CONNECT_DATA=(SERVER=DEDICATED)" +
"(SERVICE_NAME={1})));" +
"uid={2};" +
"pwd={3};"; // assumes port is 1521 (the default)
return String.Format(format, host, serviceName, userId, password);
}
static private string GetConnectionStringMethod2(
string host,
string serviceName,
string userId,
string password
)
{
string format =
"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST={0})(PORT=1521))" +
"(CONNECT_DATA=(SERVER=DEDICATED)" +
"(SERVICE_NAME={1})));" +
"User Id={2};" +
"Password={3};"; // assumes port is 1521 (the default)
return String.Format(format, host, serviceName, userId, password);
}
}
최종 힌트:에러 「System(시스템)」이 발생했을 경우.Data.OracleClient에는 Oracle 클라이언트 소프트웨어 버전 8.1.7"이 필요합니다.이 질문을 참조하십시오.
ODAC xcopy는 약 45MB의 용량을 제공합니다.http://www.oracle.com/technology/software/tech/windows/odpnet/index.html
Oracle 포럼에 올라온 이 게시물도 매우 유용했습니다.
Oracle Instant Client with Visual Studio를 설정하는 방법
비고: ADO.NET 팀이 시스템을 폐지하고 있습니다.Data.OracleClient는 향후 프로젝트에 ODP를 사용해야 합니다.그물
재생:
다음 환경변수를 설정합니다.
- PATH에 다른 oracle 디렉토리가 없는지 확인합니다.
- 인스턴트 클라이언트를 가리키도록 PATH 설정
- tnsnames.ora 파일이 있는 곳을 가리키도록 TNS_ADMIN을 설정합니다.
- NLS_LANG 설정
- 인스턴트 클라이언트에 ORACLE_HOME 설정
저는 NLS_LANG을
http://download-east.oracle.com/docs/html/A95493_01/gblsupp.htm#634282
인스턴트 클라이언트에 대한 sqlplus add-on을 사용하여 올바른 클라이언트 소프트웨어를 사용하고 있음을 확인했습니다.
저는 SET NLS_LANG=AMERICAN_AMERICAN을 설정합니다.WE8MSWIN1252
참고: 변경하기 전에 오라클 레지스트리 키(존재하는 경우)를 백업하고 환경 변수의 문자열을 백업하십시오.
언급URL : https://stackoverflow.com/questions/70602/what-is-the-minimum-client-footprint-required-to-connect-c-sharp-to-an-oracle-da
'source' 카테고리의 다른 글
| Angularjs 크롬 자동 완성 딜레마 (0) | 2023.02.12 |
|---|---|
| react-router v4에서 history.push/Link/Redirect를 포함한 파라미터를 전달하려면 어떻게 해야 합니까? (0) | 2023.02.12 |
| @RestController vs @RepositoryRestResource를 사용하는 경우 (0) | 2023.02.12 |
| 일부 요소에 대해 nganimate 사용 안 함 (0) | 2023.02.12 |
| "Newtonsoft에서 항목을 추가하거나 제거할 수 없습니다.Json.Linq.JProperty"를 참조해 주세요. (0) | 2023.02.12 |