Error "Could not connect to server for database upitnik

Posted by Daniel0208 on 18-Feb-2013 08:16

Hello there,

I'm new at the forum.
I have a problem.

I made a progress db and I instaled the application on the windows server 2008 (small business). I have 5 computers in the office and I want to share the db so all users can in the same time use the application I have made.
At first the users loged on to server over remote desktop connection with their user accounts, and there was no problem with starting the app at the same time on all accounts, it worked OK, but the problem is that the maximum number of users is 3.
Now, I want the users to be able to use the application without the need to connect directly to the server but just to start the app start shortcut on their pc desktops.
I have tried to do that but I can start the application from just one computer, when I try to start it from the other one I get the error "Could not connect to server for database upitnik, errno 0. (1432)" and then I do the proshut, then the application opens on the other pc... and I can not find a solution for my problem...

1. I have maped the shared db folder on the local machines under letter U.
2. In the target area of the start shortcut is "C:\PROGRESS\OpenEdge\bin\prowin32.exe -p U:\w-upitnik-start.p -basekey INI -d dmy -T %TEMP%"
3. In the start procedure "w-upitnik-start.p" is the next code:


DOS SILENT "net USE U: /DELETE".


DOS SILENT "net USE U: \\192.168.1.201\upitnik".


DOS SILENT "C:\PROGRESS\OpenEdge\bin\proserve" "U:\upitnik\upitnik.db -N tcp -H localhost -S 7777".

CONNECT upitnik -H localhost -S 7777 -N tcp.


PROPATH = ENTRY(1,PROPATH) + ",U:\upitnik," + PROPATH.

RUN w-upitnik.w.

DISCONNECT upitnik.


I've tried to put the -H 192.168.1.201 intead of -H localhost but I get the message that the host is used by the server....

Help me if you can please.
What am I missing???

Thank you

All Replies

Posted by robw@hltool.com on 18-Feb-2013 08:36

There are a lot of problems with this setup. But here are my suggestions:

You should run proserve 1x on the server - it looks like your launching the server for every connection, which would be bad.

-H is used for the server IP - not the client - so should never be localhost. Even if I were running a program from the server I would use the servername.

This should be your server .p - run from the server only - using task scheduler if you want.

DOS SILENT "C:\PROGRESS\OpenEdge\bin\proserve" "whatever-the-local-drive-and-folder-are\upitnik\upitnik.db -N tcp -H localhost -S 7777".

Note: you can leave localhost - or use server name - or IP of server. If you run this from server you will have no problems. You don't want the client to be starting the server.

This should be your client .p

DOS SILENT "net USE U: /DELETE".

DOS SILENT "net USE U:
192.168.1.201\upitnik".

PROPATH = ENTRY(1,PROPATH) + ",U:\upitnik," + PROPATH.

CONNECT upitnik -H localhost -S 7777 -N tcp.

/* you should probably change the line below to RUN persistent */

RUN w-upitnik.w PERSISTENT.

/* otherwise you would disconnect before your app gets a chance to run */

DISCONNECT upitnik.

There are maybe 10 other suggestion people could offer to you - but get it running first then we'll go from there.

Posted by Daniel0208 on 18-Feb-2013 13:42

Thanks for the welcome and for the advice.
Now, I have done all the things you have written to me and some + but I had no luck...
I've done some print screens so you can see.
On picture no 1 you can see I typed in the proenv "proserve U:\upitnik.db -H 192.168.1.90 -S 7777" as you can see.
On  picture no 2 you can see I typed in proenv "proserve U:\upitnik.db -H  predsednistvo -S 7777" as you can see and with that I managed to open  the database in multi-user mode, but thats the part where I had no  problem previously.

Then I typed on the client pc in the shortcut  In the target location this "C:\PROGRESS\OpenEdge\bin\prowin32.exe -db  upitnik -H predsednistvo -S 7777 -N tcp -p u:\w-upitnik.w" that is on  picture no 3. But I got the same error as before picture no 4 "Coult not  connect to server for database upitnik, errno 0. (1432)"

Also I have tried next thing:
I have typed in the start procedure w-start-upitnik.p this code DOS SILENT "C:\PROGRESS\OpenEdge\bin\proserve" "U:\upitnik.db -N tcp -H predsednistvo -S 7777".
That  also opened the database in multi-user mode. After that I typed on the  client pc start procedure this code below I got the error message.

DOS  "net USE u: /DELETE".
DOS  "net use u: \\PREDSEDNISTVO\upitnik".

/* DOS "C:\PROGRESS\OpenEdge\bin\proserve" "U:\upitnik.db -H predsednistvo -S 7777 -N tcp". */

PROPATH = ENTRY(1,PROPATH) + ",U:\," + PROPATH.
CONNECT upitnik  -H predsednistvo -S 7777 -N tcp.

RUN w-upitnik.w PERSISTENT.

DISCONNECT upitnik.

DOS  "net USE U: /DELETE".

Well that's about it... I don't know what to do... I don't  know is it possible that the problem is in some permissions on the  server but I gave all the permissions to the user account of the client.

Any further suggestion?

Posted by robw@hltool.com on 18-Feb-2013 14:38

ok let's change tactics.  You are still launching the database remotely with proserve, which I don't recommended.  In your proserve command there should be no "U" drive.

This is a warning instead of a hard error, but I wanted your to run proserve from the server, and using the local drives.  Local drives are c, d etc.

You have the working directory as %TEMP% in one of your examples.  You should be using the U: drive as your working directory for clients.

Your database should not be accessible to clients.  From the server only. 

Clients connect using port 7777 only.

So let's make a db.pf for your clients to use.  This will have your connection settings.  We'll worry about the 3 users later.

(Btw will you need 5 users to connect at the same time? - no matter this will do the same thing - once a user closes your .w app, it should free up the connection)

db.pf

-------

-db upitnik -S 7777 -H predsednistvo -N tcp

-T %temp%

startclient.pf

------------------

-l 500

-pf db.pf

-p w-upitnik.w

save both db.pf and startclient.pf in your U: drive

on the clients who want to connect and run your .w, make a file called client.bat

client.bat

------------

net use u: /DELETE
net use u: \\PREDSEDNISTVO\upitnik

u:\startclient.pf

net use u: /DELETE

on your server - you should be serving the databases locally.  So if your progress install directory (aka DLC) is

c:\Progress\OpenEdge\

and your db directory is

c:\openedge\db\upitnik.db

- you should create a .bat file in the .db directory

c:\Progress\Openedge\bin\proserve c:\openedge\db\upitnik -S 7777 -H predsednistvo -N tcp

you should run this once and the server and leave it.  I have databases up 300+ days.  I only shut them down if I need to install a service pack.

knock off all those remote DOS commands and mapped drive stuff.  This isn't MS Access, it's a real db. ^^

Posted by Daniel0208 on 19-Feb-2013 13:14

First the answer to your questin, yes I will need 5 clients to connect and use the application in the same time.

I put the db file on C drive of the server.

I have made the dizi.bat file for server start with this line = C:\PROGRESS\OpenEdge\bin\proserve C:\OpenEdge\WRK\upitnik\upitnik.db -S 7777 -H predsednistvo -N tcp

And that worked fine.

______________________________________________________________________________________________________________________________________

I made the .pf files as you told me and put them in the file where the database is

__________________________________________

db.pf = -db upitnik -S 7777 -H predsednistvo -N tcp
           -T %temp%

__________________________________________

startclient.pf = -l 500
                     -pf db.pf
                     -p w-upitnik.w

__________________________________________

I made the client.bat file on the client pc with these lines = net use u: /DELETE
                                                                                     net use u: \\PREDSEDNISTVO\upitnik

                                                                                     u:\startclient.pf

                                                                                     net use u: /DELETE

__________________________________________________________________________

When I started the client.bat I got error like in pic. no 1 and when I pushed the OK button pic. no 2 and that was the end.


I have checked few times have I have done something wrong, misspelt something but no, I checked the permisions I gave to the client and there were full access permisions.

Then I tried the client.bat on the server/

At first I got the error like in pic. no 3.

Afther that I changed the ------ %temp% ----- part with the ----- C:\OpenEdge\WRK\upitnik ----- and it worked, but as I have said on the server and not on the client.

And btw the server is not Windows server 2008 it is 2003.... I don't know if that influences anything.

Posted by robw@hltool.com on 19-Feb-2013 13:36

I told you %TEMP% but we don't use that - you were right to use a different directory for temp files

>Afther that I changed the

Posted by Daniel0208 on 19-Feb-2013 14:14

I am sorry but I can only see the part of the message.

I told you %TEMP% but we don't use that - you were right to use a different directory for temp files

>Afther that I changed the

Are there any more tips that you can tell me?

I am really sorry but this is the first time I am doing something like  this... I mean making this kind of environment on server for local  clients, I usually made applications for one user or applications that  were on servers and that the clients used them through remote desktop  connection.

So I appreciate all the help I can get.

Posted by robw@hltool.com on 19-Feb-2013 15:18

/* resending - I replied via email which doesn't always work */

I told you %TEMP% but we don't use that - you were right to use a different directory for temp files

>Afther that I changed the ------ %temp% ----- part with the ----- C:\OpenEdge\WRK\upitnik ----- and it worked, but as I have said on the server and not on the client.

On the clients -

Replace the %TEMP% with C:\temp or something like that.  Normally you want your temp files to be local to the client - so any temp directory on the C drive should be fine.

Try it again afterwards and report back results.

That should get it working on the clients

Posted by Daniel0208 on 20-Feb-2013 10:17

I just did that and I got the same error msg on the client as on the pic. no.  1 in the previous post

Posted by robw@hltool.com on 20-Feb-2013 10:59

sorry I didn't see your image until just now.  I don't like logging on to progress.com so I was trying to do this via email only.

That's good - that you have that error.

- man I hate this website - I have to open up another window to see your earlier messages, so that I can respond.  bleh.

ok change the client batch file to this:

net use u: /DELETE
net use u: \\PREDSEDNISTVO\upitnik

cd u:

u:\startclient.pf

net use u: /DELETE

Posted by Daniel0208 on 20-Feb-2013 11:21

OK I have done that.

net use u: /DELETE
net use u: \\SRVDS\upitnik ---------------- Btw dont be confused with this change from PREDSEDNISTVO to SRVDS it is the real deal everithing else is the same.

cd u:

u:\startclient.pf

net use u: /DELETE

Tried it on two clients and the results are errors again.

On the first one is the error like on pic. no. 2

On the second one is the error like on pic. no. 3

Posted by Daniel0208 on 20-Feb-2013 12:38

I think I am on a good path of fining the solution, but I will know that tomorrow.
I will let you know, thanks very much.

Posted by robw@hltool.com on 20-Feb-2013 13:56

switch the

cd u:

to just

u:

Posted by Daniel0208 on 22-Feb-2013 13:26

It works, thank you very much!

Posted by robw@hltool.com on 22-Feb-2013 13:31

Daniel, you're welcome. I'm glad you got it up and running!

This thread is closed