Kısmen, Oracle istemcisinin tam kurulumuyla çakışan sürümler veya bitness ile ilgili sorunların bir sonucu olarak, geliştirme ekibim (üyesi olduğum) Oracle Instant Client'ı kullanmaya ve çoğu zaman geliştirme makinelerimizdeki kurulumdan kaçınmaya devam ediyor yeni projeler. Bu, bu kurulumla üretime dağıttığımız noktaya kadar oldukça iyi çalıştı. Çoğunlukla bir .NET mağazası olduğumuzdan, Java istemcisi yerine yerel istemciyi (.NET sarmalayıcılarıyla) kullanıyoruz.
Artık bir istemci veritabanı hizmetini bir LDAP sunucusuna kaydettirmemizi ve isim aramak için LDAP sunucusunu kullanmamızı istiyor. Sağladıkları dosyaları sqlnet.ora
ve ldap.ora
(ve beraberindeki şifreleme yapılandırma dosyasını) doğru gibi görünüyorlar. Özellikle sqlnet.ora
dosya, net hizmet adlarını aramak için olası bir kaynak olarak LDAP'yi belirtir:
names.directory_path=(tnsnames,ldap)
SQL Developer (LDAP bilgilerini doğrudan girmeme izin verdi) kullanarak bunu yapabildiğim için birlikte çalıştığım makinenin hizmete erişmek için LDAP kullanabileceğinden eminim. Doğru olduklarını varsayarsak, Anında İstemcinin bu yapılandırmayı tanımasını ve ad araması için LDAP'yi nasıl kullanmasını sağlayabilirim?
Şimdiye kadar denediklerim
TNS_ADMIN
Ortam değişkenini sağlanan dosyaları içeren dizine ayarlamayı denedim ve bu Anlık İstemci'nin bir tnsnames.ora
dosyayı tanımasını sağlamak için iyi çalışıyor olsa da, LDAP'ye bakmaya başlamak için yeterli görünmüyor. Sonuçlar (yollar, kullanıcı adları ve şifreler değiştiğinde):
(Aşağıdaki komutlar Windows Komut İstemi olur, ancak benzer bir şeyin Linux'ta yapılabileceğini hayal ediyorum. sqlplus
Burada görülen, aynı dizinde bulunan Anında İstemci ikilileriyle birlikte Anında sürümdür.)
C:\TEMP>SET TNS_ADMIN=C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>echo %TNS_ADMIN%
C:\path\to\sqlnet\ldap\and\tnsnames\ora\files
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LOCALTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:22:25 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produ
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
C:\TEMP>sqlplus.exe USERNAME/PASSWORD@LDAPTNSNAME
SQL*Plus: Release 11.2.0.2.0 Production on Mon Jul 7 10:24:21 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Kenar notu
Bu soruya eklenebilecek TNS, LDAP veya Anında İstemci (veya yalnızca normal Oracle Client) için etiketler var mı? Ben bulamadım.
where
( C:\TEMP\sqlplus.exe
) çalıştırdığımda olmasını beklediğim bu . Daha spesifik olmak gerekirse, sqlplus
makineye "kurulmamıştır". Sadece mevcut dizinde, yanında istemci ikili dosyaları var. Tamamen farklı bir dizinde olduğu için kesinlikle ortam değişkenini tnsnames.ora
kullanarak dosyayı alıyor TNS_ADMIN
.
where oci.dll
. Ayrıca beklenen sonuçları verir: C:\TEMP\oci.dll
.