Page 1 of 1

Message "NET: Invalid SID"

Posted: Thu 24 Jan 2008 15:12
by tremel
Hello CoreLab Team!

we've got problems with OraDirect (4.25.23.0) with an exception message saying "NET: Invalid SID". What is this? We are using a connection string in the format:

Data Source=servername;Direct=true;Port=1521;SID=database;User Id=user;Password=password

What are we doing wrong? Is this a known issue in the version (see above) we are using?

Regards from Munich,
Andreas Tremel

Posted: Thu 24 Jan 2008 15:33
by Alexey.mdr
You can get a valid SID from the file “tnsnames.ora”, where SID is taken from SERVICE_NAME parameter. Path to the file: (\network\ADMIN\tnsnames.ora).
In this example connection string contains such SID:

Code: Select all

"...;SID=orcl920;..."
tnsnames.ora
------------------
ORA920 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl920)
)
)

Posted: Thu 24 Jan 2008 15:39
by tremel
Hello Alexey,

Yes, but this is direct mode, do we have a tnsmaes.ora here?

Sorry for my question, but I'm a newbie here.

Regards
Andreas

Posted: Fri 25 Jan 2008 12:41
by Alexey.mdr

Code: Select all

user id=scott;server=ORA1010;direct=False;port=1521        // via client
user id=scott;server=db;direct=True;sid=orcl1010;port=1521 //direct
You definitely have this file. It is installed by Oracle client. Search the path specified in the previous post.

Posted: Mon 28 Jan 2008 15:33
by tremel
Hello Alexey,

The Oracle Client is not installed on my system.
I've been searching for tnsnames.ora on my hard disk - I can't find it.

How do I find out the correct Sid then?

Regards,
Andreas

Posted: Tue 29 Jan 2008 14:07
by Alexey.mdr
Oracle System Identifier (SID) is set on a database creation in Database Configuration Assistant (on the server side).
You can see it in Control Panel -> Administrative Tools -> Services
For example:

Name
...
OracleServiceORA11
...

Where OracleServiceORA11 = OracleService;
SID = ORA11;

Posted: Fri 01 Feb 2008 16:43
by tremel
Hello Alexey,

ok, this issue is getting strange. Only SOME operations / transactions fail with the sid-error, not all of them. It seems that larger transactions with many INSERT or SELECT statements fail, while smaller ones work perfectly.

Could that be an error in the OraDirect component?

Regards,
Andreas

Posted: Tue 05 Feb 2008 09:02
by Alexey.mdr
Hello Andreas,
Do you use distributed transactions?
Does any other application use distributed transactions?
Do you have firewall on the server side?
Probably the server closes some connections because of large size of the packages sent.
Try to localize the problem by splitting large transactions (where you have the exception) into a bunch of smaller ones.

Posted: Mon 18 Feb 2008 17:05
by tremel
Hello Alexey,

no, we don't use distributed transactions, on my test server there are no other applications running. No, there is no server-side firewall, although we have one at the router.

I understand, splitting the transactions will probably identify the cause. However, the transactions we're using are atomic - I can under no circumstances split them in the final version of the product. Unfortunately, your suggestion won't help us. Can the problem be somehow reproduced by the development team of CoreLab? We need a solution, and it's becoming to get urgent.

Regards,
Andreas

Posted: Tue 19 Feb 2008 16:19
by Alexey.mdr
Do you use RAC?
Of course you won't split transactions in the final version.
But currently, that might help to find the source of the problem.
If you say that sometimes it works ok and sometimes it fails with the error message.

Yes, we can try to reproduce the problem, but we need a test project.
Please send it to my email (alexeyman*crlab*com).
We will try find out the reason of the problem in the nearest time.