Re: help to connect

Jefferson Elias <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
Hi Bruce, David, 

thank you both for your help. I think I might read carefully the link Bruce provided and already set the NLS_LANG to the appropriate value. 



Best regards, 





Jefferson ELIAS 








Service Applications Informatiques 

Database Administrator 

Tel.: +32 4 366 83 56 

Fax: +32 4 366 72 99 








Email : [email protected] 

Email DBA : [email protected] 

















----- Mail original -----

De: "Bruce Johnson" <[email protected]> 
À: "Jefferson Elias" <[email protected]> 
Envoyé: Vendredi 13 Mai 2016 19:32:55 
Objet: Re: help to connect 





On May 12, 2016, at 10:29 PM, Jefferson Elias < [email protected] > wrote: 

Hi Bruce, Meir, 

thank you for your help. 

The file was already saved without BOM and it wasn't working at all when adding the BOM descriptor into the file. 

Bruce's suggestion about NLS_LANG settings solved the problem of connection : I changed it temporarily from 
NLS_LANG=american_america.WE8MSWIN1252 
to 
NLS_LANG=american_america.UTF8 

and managed to connect to the instance with the exact same password. 

While it works now, I begin to wonder if there could not be data corruption in case of modifications as the target database instance uses WE8MSWIN1252 and my terminal uses UTF8 (at NLS_LANG level). 




No. NLS_LANG should be set by your client; your client tells the DB which setting it’s using this way and the database does the rest. 

Here is more than you ever wanted to know about NLS_LANG < http://www.oracle.com/technetwork/products/globalization/nls-lang-099431.html > :-) 

This The Priority of NLS Parameters related to NLS_LANG is relevant to your situation, but basically you need to tell Oracle which character set you’re using when you connect, so setting NLS_LANG to ‘ american_america.UTF8’ as you did is the correct permanent fix for your problem. 


<blockquote>

I think I might be customizing non-oracle shell environment before running the script but I don't know if it's something that useful... What's your point about it ? 

</blockquote>

99% of my work is in web-based CGI apps, so making sure that the environment variables are the same in the web processes as the interactive shells is a common issue. Also, depending on how you’re running the script, you may need to make sure things are set (eg: in cron jobs, etc) because depending on how the shell script is invoked, things like .bashrc may or may not be used. 

I mention it because it’s a common issue people face when "sqlplus or SQL Designer work just fine, how come DBI fails??!!” and has bitten me more than once. 

-- 
Bruce Johnson 
University of Arizona 
College of Pharmacy 
Information Technology Group 

Institutions do not have opinions, merely customs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.