Въпросът е как да инсталирате ODP.NET 2.111 и ODP.NET 4.112 на една и съща машина една до друга, докато и двете сочат към един и същ сървър на база данни с помощта на tnsnames.ora
Трябва да поддържам наследена система, базирана на Oracle 11.1.0. Системата използва ODP.NET 2.111 за свързване с Oracle. Има два инсталирани клиента на:
C:\oracle\product\11.1.0\client_1
C:\oracle\product\11.1.0\client_2
Tnsnames.ora и за двете е нещо подобно:
xxxx1_SERVICE=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxx2)(PORT = xxx3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = xxx4)
)
)
yyyy1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = yyyy2 )(PORT = yyyy3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = yyyy4)
)
)
kkkk1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = kkkkk2 )(PORT = kkkk3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = kkk4)
)
)
pppp1_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ppppp2 )(PORT = pppp3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = pppp4)
)
)
oooo1_SERVICE = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ooooo2 )(PORT = oooo3))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oooo4)
)
)
Системата е готова и работи с горните настройки. Трябва да разработя нова система, базирана на EntityFramework, която изисква да използвам по-нова версия на Oracle.DataAccess.Dll (4.112).
Чудех се как мога да инсталирам новия клиент, без да навредя на функционалността на наследената система, така че и двете да могат да работят една до друга:
Забележка: Опитах се да инсталирам новия ODP.NET върху предишния клиент и успях да се свържа с база данни, използвайки следния низ за връзка:
DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=zzzzz1)(PORT=zzzzz2)))(CONNECT_DATA=(SERVICE_NAME=zzz3_SERVICE)));Потребителски ID=\"zzzz4\";Парола =\"zzzz5\";
Това не е желателно, защото 1- Разрушава наследената система, защото вече не може да се свърже с Oracle поради надстройката в ODP.NET 2- Низът за връзка изглежда много странно
Ще се радвам на всяка помощ,
Благодаря, Айдин