cant save into a specific pc from citrix

adaniele

Registered User.
Local time
Tomorrow, 05:26
Joined
Jul 18, 2005
Messages
176
Hi all, here is my question.
Context:I have a db (A) in a citrix server, which is located in the usa. Then i have 5 users (1,2,3,4,5) in australia connected to the citrix server with a citrix web interface. One of the 5 pc's (5) has a db (B) with one table only where i need to insert records when a specific event occurs in database A. The table in the db B located in australia is linked in the db A located in the usa.

Problem: Every time that any user make a transaction in the db located in the usa A, I need to make an insert into a db B located in one of the 5 pc (5) in australia.
Of course, when i try to insert the record in the db B with the following path , d:\wineB.mdb, it looks for the db B in the users computer which does the transaction instead of inserting that record in a particular pc (5).

Question:Regardless og why iam trying to do this. Is this possible.
Can i let the code knows in which specific computer i want to insert the record, regardless of which of the 5 pc's make the transaction?

thx very much 4 your time and hlp. Max.
 
you are trying to save to a mapped drive... shift your save path to UNC in the form: \\server\share...
 
bodisathva, thx very much for your clue.
Could you pls give me an example?
thx, max
 
bodisathva, its me again.
I use the UNC (link manager) in the db which is located in the citrix server.
I look for the table located in one of the pc's. I selected the table and checked to ask for the path.
the path never appeared !!!!!
the only path i saw was the one in brackets next to the table name (d:\'client'\wine2.mdb)
My understanding is that this is a generic path, so, the usa db will look for that table in every pc trying to insert a record. When that table is on a specific pc only.
thx, max.
 
d:\'client'\wine2.mdb denotes the "d" drive on whatever machine you are running the application on. With Citrix, the client machine is only viewing screenshots and transmitting keystroke information (hence the speed of the connection), but the application itself is running on the Server.

If I assume that with your particular setup, as the application runs, a folder is created on the server's 'd' drive with the client machine's name (which is standard), then that is where the data is stored. What you need is to replace the 'client' portion of the l;inked table's path with the network name of the client PC and relink the table each time a client logs in.
 
bodisathva, thx again 4 your time and hlp.
I couldnt replace the "client" with the pc's network name.
If iam positioned in the citrix server and i try to map a network drive i can not do it using the pc's name or ip address. I receive an err msg "The network path \\name\d$ could not be found"

If i try to change it in access, the one located in the citrix server. I just cant.
I open the link mgr window and i can only select the D$ on 'client' drive.
If i write \\pc's name\d$\wine2.mdb
access cant find the path.

thx, max.
 
D:\ should refer to the server's D drive. 'client' refers to the client that is currently running the application (actually, a workspace set up by Citrix for the application to run in). The application itself cannot distinguish who's actually running it, because from it's perspective, it is always running on the server, not the client. Citrix should be able to provide you with a client name for the currently executing connection, which you would use to complete the path statement.
 
bodisathva, thx again 4 your explanation.
I couldnt make it work at all. I replace the path using \\<pcname>\D$\<dbname>.mdb, also i used the ip address instead of the pcname, but did not recognised it. Only worked when I wrote \\Clinet\C$\<dbname>.mdb.

any other suggestion?
thx, max.
 
This issue is harder than it looks because you are reverse-mapping the client's C drive when usually the CLIENT maps something on the server. The UNC path you supplied is the ONLY way you are going to make this work. Because, you see, from the server's viewpoint, normally there IS no mapping in the direction you chose. You are swimming upstream here. If you cannot supply this information reliably for some reason, you are doomed.

The only way this would be worse would be if you were really running Access from one of the remote client machines and wanted to update the drive of another (different) client machine.

I would think (if this were my problem) that it is time to step back and rethink the goal. What do you do, for example, if machine Client-1 does a transaction that has to be reflected in machine Client-2 - but that machine is not online at the moment due to a network glitch?

I would make some staging table in the database on the server. Whatever you are going to store, store in that staging table. Or multiple staging tables if you must. Then when the target machine checks in, have a startup form check the staging tables for store-and-forward transactions.
 
It sounds like someone is trying to use the Access application outside the Citrix environment. All users (and the developer) should be logging into the same Citrix server to use the Access application. Nothing should be stored on the user’s local PC.
 
guys, let me be more specific in my problem. In that way u could understant why i am trying to do this.
As i mentioned the db is in a citrix server in the usa. The clients are in australia.
i am trying to implement an email feature, but my %#@#@# supports dont want to hlp me at all. So , i found a by-pass.
I install on each client a dummy db with 1 table. Every time the db in citrix needs to send an email, it inserts a record in the dummy db of the user which triggers it. Then, the dummy db sends the email, using the user's outlook or lotus notes.
This works perfectly, but i am reluctant to have this dummy db's on each pcs. I would prefer to have a dedicated pc for this email feature.

thx, max.
 
microe, thx 4 your hlp.
did not work 4 me.
do u know if i can open a web outlook session(owa) from access.
thx, max
 
It is likely that the user’s Email profile is on the local PC – not on the Citrix server. You are trying to make your application work in two totally different environments – the Citrix one and the local one. This won’t work because Citrix’s core design makes it independent of local resources.

In order to send email from your application an SMTP server will need to be available to the Citrix environment. Then the application will need to post to a web page or VBScript file that has been designed and configured to send the email to the SMTP server. There are a variety of technologies that can be used – CDO Mail, ASP Mail, etc. You will need to work with the IT department to have a SMTP server configure and setup for your application to use in the Citrix environment.
 
My experience of Citrix and WTS is that if your support isn't supporting, you're going nowhere fast. With good support, everthing is possible. You need to give them, or their superiors, a good business case or beat them with a large stick.

The large stick is often more satifying and no less productive!
 

Users who are viewing this thread

Back
Top Bottom