|
I am not able to connect to a remote MySQL server on C#.Net. The server is not accepting the request of opening the database. I think the connection string is going somewhere wrong:
<add key="ConnectionString" value="SERVER =IP add; HOST=localhost; PORT=portNo; DATABASE=dbname; UID=userId; PASSWORD=pass;Connection Lifetime=0;"/>
I dont know where im going wrong. Please correct me if someone knows the correct string to connect to a MySQL db thru C#.Net2.0
Thanks
|
|
|
|
|
Message Closed
modified 23-Nov-14 5:58am.
|
|
|
|
|
Dear Friend i have tried it earlier, it didn't work out for me ..
|
|
|
|
|
Message Closed
modified 23-Nov-14 5:58am.
|
|
|
|
|
Connection Terminated unexpectedly. I would like to add here that now I have installed a local MySQL Server and restored one of the table to fetch data form it. But still I am not able to connect to the database locally also from C#.Net2.0
When the code reaches to mySQLCon.open(), then it fires the above exception.
Connection String:"Server=localhost; PORT=80; Data Source=ecampust_opensis; User Id=root; Password=;"
Thanks
|
|
|
|
|
Show us the code fragment you are using to access the connection string, and the code fragment you use to open the connection to the DB. (Not the whole program, please, just the relevant bits)
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
|
|
|
|
|
Web.Config: Containing the connection string
<appSettings><br />
<add key="ConnectionString" value="Server=localhost; PORT=80; Data Source=ecampust_opensis; User Id=root; Password=;"/><br />
</appSettings>
Fetching the Connection string into a string connStr and opening the connection:
connStr = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
mySQLCon = new MySqlConnection(connStr);
mySQLCon.Open();
|
|
|
|
|
My guess is that you have the wrong port number. Port 80 is normally reserved for HTTP traffic (web browsers/servers).
|
|
|
|
|
Hey Dave, I am checking the connection locally, so i think the port must be 80 (for all local servers).
|
|
|
|
|
The port number has nothing to do with the server being local or not.
Varun Sareen wrote: so i think the port must be 80
"Thinking" is not allowed in this business. You either know what the port is, or you have to find out.
|
|
|
|
|
|
Now the exception is coming as:
{MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts ---> System.Net.Sockets.SocketException: The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for
|
|
|
|
|
Check your database server: Do you have the Named Pipes protocol enabled in the Network setup? (apparently .NET Sockets likes both Named Pipes and TCP/IP)
Also check your firewall at the server - it may be rejecting port 80.
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
|
|
|
|
|
Hey dear Griff, I would like to ask you here that "As MySQL is open source and there are many articles for connecting the .Net application with MySQL db, and no where I have found that someone have specified this Named Pipes protocol thing in order to connect to MySQL dB although I have checked firewall. As our client is the owner of the MySQL Database, I think some dB level permission is to be granted in order to access the dB remotely. What do you say dear Griff on this?
Thanks
|
|
|
|
|
Hey dear Griff, the error is coming as "Connection unexpectedly terminated". I am just going sick over this issue Kindly help someone.
|
|
|
|
|
I am using onlyconnect html editor
On typing on it using hindi fonts such as kruti dev ,kantipur I am getting unnecessary spaces
I dont knw how to remove them
whereas these fonts are working well with the IE installed on the system...
also, I have set the encoding to unicode...
Need help urgently.. will be really very grateful
Thanks in advance..
|
|
|
|
|
This is not a C# issue; try posting in the 'General Indian' forum.
It's time for a new signature.
|
|
|
|
|
Hello again, I have one more question if I may...
I have the following classes for my patient simulator
patient - object for holding patient data/stats
simulator - the simulator engine to control things
form1 - my main app dialog
and some more
Now, I have a number of resources associated with some of the above, for exaple, when I populate the patient class by loading data from a patient file, I want a picture of that patient to load into my main form.
Where do i add the picture?
Should I add the file path to the picture to the patient class, or hold a list of file path resources in my main app, and use a funtion to load the relevent pic depending on how the patient class is populated.
Same goes for sounds,
For example my ecg class will create and display an animation of an ecg based on the simulation. should I add the relevent ecg graph array data, sounds etc into that object, or the main form.
Hope the above makes sense, and thank you for your help.
Steve
|
|
|
|
|
Hi,
I would suggest that you embed the resources to your application. Have a look at this article:
http://support.microsoft.com/?scid=kb%3Ben-us%3B319292&x=10&y=10[^]
You can then load your data using a StreamReader. Save the name of the file and sounds within your Patient-class, since each patient I think has a different picture and sound.
Hope this helps a bit.
Regards
Sebastian
|
|
|
|
|
I would have to disagree with SeMartins.
If the picture is of the patient, then it should be stored with other patient information. Otherwise, when you add a new patient, how do you include a picture? Embedding them in your resources is a bad move as you would have to define them at build time, or play silly buggers.
Either: store the file path with the patient data and load the image when you need it, or include the picture in a database with your other patient information - the latter means there is only one place to go for all relevant info - again, you do not have to load the image until you need it for display.
Again with sounds, these should be stored either as a file reference or database field (depending on the size) and loaded only when you need them.
The general rule is: If it is part of the object info, let the object deal with it. Your main form is concerned with user interaction - displaying patient and EGC info to the user, and relating user generated changes to that info back to the object, not with how the object is stored.
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.
|
|
|
|
|
Thank you for the positive feed back, it is well appreciated.
Thank you
Steve
|
|
|
|
|
You're totally right. Due to my missing morning coffee I assumed that your patient data is fixed (since it is just a demo, isn't it). If the data itself is not fixed, store it within a file or (better) database as already suggested by OriginalGriff.
You could also place the picture and sounds into the patient data file by embedding the data as base64 strings... So you got everything in one place.
Regards
Sebastian
|
|
|
|
|
|
Ok, If I have learned correctly, one should limit an app to maybe 1 or 2 timers.
I have a timer object set to triger every second, but I need a number of different events to happen at different times.
For example,
every 1 second...timer triggers
every 3 seconds, run function A
every 10 seconds, run function B
etc
Now, I cant figure out how to do this properly. I know I need variables to keep tabs on elapsed times, but would some kind coder please give me an example of how I may do this please?
Thank you
Steve
|
|
|
|
|
Hi,
1.
you can have several timers, however I would avoid having dozens of them.
2.
you can easily combine two or more periodic timer requirements and serve them by a single timer, basically it works like this (code looks like C#, has not been tested):
public class MultiTimerDemo {
private int timerCounter17=0;
private int timerCounter5=0;
public MultiTimerDemo() {
Windows.Forms.Timer timer=new Windows.Forms.Timer();
timer.Interval=1000;
timer.Tick+=ticker;
timer.Start();
}
private void ticker(object sender, EventArgs e) {
if (--timerCounter5<=0) {
timerCounter5=5;
.. now do whatever needs to be done every 5 seconds
}
if (--timerCounter17<=0) {
timerCounter17=17;
.. now do whatever needs to be done every 17 seconds
}
}
}
The above illustrates how one actual timer can be turned into two or more virtual timers.
You can easily add virtual timers. And of course you could make things more dynamic (provide code to add and remove all kinds of virtual timers) by using lists and delegates.
|
|
|
|