Enterprise Library - DataAccessApplicaitonBlock - Oracle

G

Guest

I am using the Enterprise library DAAB in my applicaiton connecting to an
Oracle instance, and all works fine on my development box, I can connect to
the datbase and perform the functions I require.

On my customers machine the connection fails, in the windows event log I get
the following messages

Data connection failed to open: server=abc.def.com;

ORA-06413: Connection not open.

In the package I ship to the customer I ship the enterprise library and my
code, they have an Oracle 8.1.7 client installed on their server and tns
names configured to connect to the server. Is there anything else I should be
shiopping to install on their server?

The only other difference is that my connection is not a dotted name ie not
abc.def.com just abc, but I can't see how that woudl cause a problem.

thanks for any help

Gil
 
M

Matt Noonan

Gil said:
I am using the Enterprise library DAAB in my applicaiton connecting
to an Oracle instance, and all works fine on my development box, I
can connect to the datbase and perform the functions I require.

On my customers machine the connection fails, in the windows event
log I get the following messages

Data connection failed to open: server=abc.def.com;

ORA-06413: Connection not open.

In the package I ship to the customer I ship the enterprise library
and my code, they have an Oracle 8.1.7 client installed on their
server and tns names configured to connect to the server. Is there
anything else I should be shiopping to install on their server?

The only other difference is that my connection is not a dotted name
ie not abc.def.com just abc, but I can't see how that woudl cause a
problem.

Gil,

What version of the Enterprise Library?
 
M

Matt Noonan

Gil said:
Enterprise Library - June 2005

OK, you said in your previous post that you ship the EntLib as part of your
application's install package. Are you installing the performance counters
and WMI? Or did you switch those off?
 
G

Guest

The following Enterprise Library dll's form part of the application that I
ship.

Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.EnterpriseLibrary.Configuration.dll
Microsoft.Practices.EnterpriseLibrary.Data.dll


Looking back at my origianl post I apologise as the implication in my
wording is that I ship the whole Enterprise Library which is not the case.

thanks for your continued help

Gil
 
M

Matt Noonan

Gil said:
The following Enterprise Library dll's form part of the application
that I ship.

Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.EnterpriseLibrary.Configuration.dll
Microsoft.Practices.EnterpriseLibrary.Data.dll


Looking back at my origianl post I apologise as the implication in my
wording is that I ship the whole Enterprise Library which is not the
case.

thanks for your continued help

Well, unless you have removed the instrumentation, you'll have to install
those services on each client machine. Given that this is an end-user
application, I would follow Tom Hollander's instructions for removing the
instrumentation, re-compile the Ent Lib DLLs, then distribute those with
your application.

Here's the link to the instructions:
http://blogs.msdn.com/tomholl/archive/2005/02/18/376187.aspx
 
G

Guest

I have installed the instrumentation services on the client machine, but
still see the same problem. (It has stopped an instrumentation error which
was appearing in the event log, thanks)

I have manged to replicate the issue on an internal machine now which does
make life easier on the debugging front. Basically I have a clean XP machine,
with the Oracle 9i client installed, TNS setup to the database, tested using
tnsping. The installed application, with the 3 enterprise library dll's
listed above installed, and this is also showing the error.

thanks for any further help


Gil
 
M

Matt Noonan

Gil said:
I have installed the instrumentation services on the client machine,
but still see the same problem. (It has stopped an instrumentation
error which was appearing in the event log, thanks)

Good, I guess we can call that progress. :)
I have manged to replicate the issue on an internal machine now which
does make life easier on the debugging front. Basically I have a
clean XP machine, with the Oracle 9i client installed, TNS setup to
the database, tested using tnsping. The installed application, with
the 3 enterprise library dll's listed above installed, and this is
also showing the error.

I seem to recall having to set account access permissions on one of the
Oracle directories, but that was for a web application (the ASPNET account).
Can you give me more information on the error? What does it say, exactly?
 
G

Guest

Matt Noonan said:
Good, I guess we can call that progress. :)


I seem to recall having to set account access permissions on one of the
Oracle directories, but that was for a web application (the ASPNET account).
Can you give me more information on the error? What does it say, exactly?

Matt,


I'm writing the errors out to the event log, I have listed them in the order
they appear, the second two are from within my code, at the same point, the
first is is the exception message the second is the stack trace, they are as
follows

Event Type: Warning
Event Source: Enterprise Library Data Service
Event Category: None
Event ID: 10
Date: 18/07/2006
Time: 13:09:40
User: N/A
Computer: QSI-PROG-VC8
Description:
Data connection failed to open: server=qfda.qsiuk.localdomain;

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.


Event Type: Error
Event Source: QSI CSVReader
Event Category: None
Event ID: 1002
Date: 18/07/2006
Time: 13:09:40
User: N/A
Computer: QSI-PROG-VC8
Description:
ORA-12154: TNS:could not resolve service name


For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.


Event Type: Error
Event Source: QSI CSVReader
Event Category: None
Event ID: 1002
Date: 18/07/2006
Time: 13:09:40
User: N/A
Computer: QSI-PROG-VC8
Description:
at System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject,
Boolean& isInTransaction)
at
System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String
encryptedConnectionString, OracleConnectionString options, OracleConnection
owningObject, Boolean& isInTransaction)
at
System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString
parsedConnectionString, Object transact)
at System.Data.OracleClient.OracleConnection.Open()
at Microsoft.Practices.EnterpriseLibrary.Data.Database.OpenConnection()
at
Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(DBCommandWrapper command)
at
Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(String
storedProcedureName, Object[] parameterValues)
at
Qsiuk.com.DataAccessLayer.SampleGeneration.UpdateQuestFoodsExternalResult(String sampleId, String methodName, String result)
at
Qsiuk.com.ProcessData.ProcessQuestFoods.ProcessExternalLabResults(DataTable
externalLabResults)
at
QSICSVReaderService.QSICSVReaderService.externalLabResultWatcher_Created(Object source, FileSystemEventArgs e)

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.



thanks for your continued help

Gil
 
M

Matt Noonan

Gil said:
I'm writing the errors out to the event log, I have listed them in
the order
they appear, the second two are from within my code, at the same
point, the
first is is the exception message the second is the stack trace,
they are as
follows

<snipped>

Event Type: Error
Event Source: QSI CSVReader
Event Category: None
Event ID: 1002
Date: 18/07/2006
Time: 13:09:40
User: N/A
Computer: QSI-PROG-VC8
Description:
ORA-12154: TNS:could not resolve service name

And TNSPing works? Very odd. I'm afraid I'm not an Oracle expert, but I have
used it quite a bit with the Enterprise Library as a developer. Perhaps
Google might turn up some answers? I'm not sure this is an Enterprise
Library error at this point.

I did find this troubleshooting guide:
http://www.cryer.co.uk/brian/oracle/ORA12154.htm

Maybe the next thing to try would be to write a little test app that just
tries to connect to the TNS name. Try to narrow down the problem.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top