Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Through Automation Object COM function, accessing SQL Server Database

Posted on 2004-04-20
3
Medium Priority
?
914 Views
Last Modified: 2007-12-19
I created Automation Object (COM) using Delphi. I created a function in that COM which will gather some data from some text files and insert them into MS-SQL table. Every time I call that function it should connect to the database to post new data.

I succeeded in gathering my data from text file throu' the method from COM object but I failed to connect to the database. I tried to use  ODBC(with BDE components, with ADO Components)

In more details:

COM Automation Object has function which has following input parameters as strings & get output string parameter. It sends ODBC DataSource( to access MS SQL Server), Table Name, UserID & Pwd parameters to update database.

    function ImpExec(const pDataSource, pTable, pUser ID, pPwd: WideString): WideString; safecall;

From Delphi exe Application, when I try to call this method providing input parameters by using the above Object, it give the following error

    'Project raised exception class EOleException with message 'Catastrophic failure'

What could be the error, I couldn't access database by using this method from that COM Object.

Also how to debug the Com Object from exe application.

Expecting a solution soon.
0
Comment
Question by:HamidHossain
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 12

Expert Comment

by:Ivanov_G
ID: 10866897

   1) Let's debug it :
         - build the COM with debug into and register it
         - while opened in delphi go to Run / Parameters and for host application put C:\WINNT\System32\dllhost.exe
         - put a break point in the beggining of the method and run it.

   2) Open another Delphi and open the client. Run it and call the server method. The first Delphi should stop on the first line of the COM object
0
 

Author Comment

by:HamidHossain
ID: 10867870
I built COM by using Automation Object in ActiveX Library.

You stated that  'build the COM with debug into and register it'.  what it means 'debug into', is it a option we have to give in COM or where?

As you told I set Run / Parameters for host application as  C:\WINNT\System32\dllhost.exe. Then I put a break point in the beginning of the method & run that COM it tells ' Could not find program C:\WINNT\System32\dllhost.exe'

Then I opened another Delphi client application & run it by calling that server method. It is not going  & stopping on the first line of COM method in Server Project. Still it stops only  at client.

Following is the coding in Client.

( CP1 : IComImpACSObj; -- Server Interface Object

CP1 := CoComImpACSObj.Create as IComImpACSObj; -- Creating COM Object instance

CP1.ImpExec('ACS_DS', 'trans', 'sa', ''); - it stop here & tells 'Project raised exception class EOleException with message 'Catastrophic failure' )
0
 
LVL 12

Accepted Solution

by:
Ivanov_G earned 1500 total points
ID: 10877277

  Yes, I see - in fact you didn't debugged the server

  Register the ActiveX - Run / Register ActiveX Server.
  if you are on XP - C:\WINDOWS\system32\dllhost.exe.

  TRY THIS : You can also put as host application the client that use this ActiveX - Your Client Application. Then you need only one Delphi instance.

   If you do it correctly - it should stop.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question