Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

DBI -> ODBC General Network Error Doing My Head In

Status
Not open for further replies.

1DMF

Programmer
Jan 18, 2005
8,795
GB
Hi,

Well moving over from Win32::ODBC to DBI/DBD::ODBC has made no difference...people are still getting this sparodic error...
DBI connect('FILEDSN=my_file_.dsn;Regional=No;','myDB',...) failed: [Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation. (SQL-08001) [err was 1 now 1] [state was 08001 now 01000]
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (PreLoginHandshake()). (SQL-01000) [err was 1 now 1] [state was 01000 now 01S00]
[Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (SQL-01S00) at

Hunting the web for ODBC general network error throws up threads going back years all complaining about this useless error message.

Some have said it is related to CommanTimeout, well i've upped that from 900 to 1200, some say you have to disable pooling with pooling=false. So i've added that atribute to the DSN. Though the ODBC Data Source Administrator on the server shows all drivers having pooling disabled. Am I looking in the wrong place?

I've also found this KB which implies it's SQL killing the connection because it thinks it's a DOS attack.

So I've updated the registry and will reboot the server tonight.

Does any one have any further suggestions on the possible cause and potential solution.

Our members are starting to get peed off that the systems keep failing out of office hours and there is no one here to support or investigate the problem.

I really need to find a solution to this, so your help is appreciated.

Is this likely to be nothing to do with perl and DBI connectivity but more likely to be the MS SQL server end?



"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
From memory (it's been a while) you can log on to the SQL Server Enterprise manager and see if you have any dead connections hanging around, which might be causing your memory leak. Don't know if there is a limit on the number of open connections - this might cause your clients to queue up on the few remaining connections. This in turn might cause new requests to queue in the cache, making the system think it is being subjected to a SYNC FLOOD attack.

The registry hack might prevent the symptoms, but it is unlikely to be the root cause. See if you can find some way finding out about the current connections to the DB server.

Steve

[small]"Every program can be reduced by one instruction, and every program has at least one bug. Therefore, any program can be reduced to one instruction which doesn't work." (Object::perlDesignPatterns)[/small]
 
Thanks guys for the input.

mikrom -> Thanks, I founds that KB also but after reading it was left confused, if it's to do with SQL not listening out for TCP/IP then no one should be able to connect at all right?

Also if I was to configure the SQL server, which way do I go? Named Pipes or TCP/IP Sockets?

also it says it applies to Microsoft SQL Server 6.5 Standard Edition & Microsoft SQL Server 6.5 Enterprise Edition , I have SQL 2000 on SBS2003, is that version 6.5?

In the end I though it best to leave that KB alone, but if someone can advise on my concerns and guide me to the correct settings, I'm happoy to give it a whirl!

stevexff -> Main problem in all this is it always seems to happen outside normal working hours, so how do I find out about current connections via some remote monitoring software, as I cannot check this at the time the error occurs.


"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
If it always happens after hours, what's going on with your network during those times? Are there large backups/files being transfered over the same network you're trying to use? Or possibly some other bandwidth intensive operation? SMS pushes maybe? The suggestion of a timeout issue could still be correct.
 
Not wishing to increase your stress and/or paranoia levels any further, but have you considered the possibility that you really ARE being hit by a sync flood attack out of hours? Maybe a spambot of some kind, like the ones that occasionally trawl forums posting entries advertising seriously off-topic pharmaceuticals?

Steve

[small]"Every program can be reduced by one instruction, and every program has at least one bug. Therefore, any program can be reduced to one instruction which doesn't work." (Object::perlDesignPatterns)[/small]
 
Well as it isnt any particular time I cannot track it down to anything specific running.

Our overnight backup runs @ 9pm and finished @ 4:30am.

We had another complaint last night in my inbox this morning and that was at 8:16pm so it couldn't have been the backup running.

I do have some jobs in SQL Server Agent that run backups exporting to .BAK files, but they run every 2 hours, and we don't have this problem during the normal working day!

Switching to DBI, increasing timeouts to 1200 and adding the reg key hack hasn't made a difference.

I think I need to try the SQL forums and see if they can advise.

Even if it was a DOS attack, our firewall has DOS prevention, shouldnt that stop any nasties.

Plus what would be the purpose of this attack and how would they be attacking our SQL?

The firewall only has minimum ports open (25-SMTP,80-HTTPP,443-HTTPS,1723-PPTP), the normal SQL ports aren't open and even 25 is locked down to specific IP addresses.

We have a dedicated VPN tunnel between webserver and inhouse SQL, so all traffic hitting the SQL server our end, technicaly is internal traffic only!

Now if it was simply the VPN tunnel having a glitch, well that throws a 'server doesn't exist or access denied' error, and that isn't the message, so it cant be the VPN glitching , cant it?

I don't know what to do to try to trace the problem...HELP!!!







"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
Do your networks folks (or is that you?) do any switch monitoring that would give you an idea of traffic volumes over time?

Is it possible to go in to work at lunchtime one day and stay late to see it with your own eyes?

Annihilannic.
 
1. no network guys - I am the IT department.
2. No way are these suckers ever getting another seconds unpaid overtime till they pay up the 10's of 1,000's of ££££ they already owe me!

"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
What's switch monitoring and how do I do it?

I'm not aware the 3com switch comes with logs and monitoring software, it might, but as it was 'aquired' and came with no training , no manual, no software, i simply just patched it in and left it!

If you can advise how I would monitor or track the traffic to trace the problem i'd certainly owe you a pint! [cheers]



"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
Still a little confused which box i'm meant to be putting what on.

I looked at MRTG but it talks about putting it on the web server, am I not mean to be monitoring the traffic to my in house SQL server?

Which box am I loading it on , plus as MRTG requires PERL and my inhouse SBS203 with SQL server doesn't have perl on it, I guess I can't use it.

Unless it gets put on the webserver, however, the webserver is hosted and I have no access to their switch or firewall, should anything need configuring.

Can you explain what I'm putting where to monitor the SQL connection.

Thanks,
1DMF.

"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
Okay, I work in the Unix world so I kind of assumed you might have a Linux web server/admin box sitting around somewhere internally.

I had a word with one of our network guys about free Windows SNMP collector/graphing tools and he mentioned Solar Winds, might be worth a shot?

Annihilannic.
 
I'll have a look, but so far so good.

No one has reported an issue for a week now.....

I'll hold back on saying it's fixed and what I did until I can be sure.



"In complete darkness we are all the same, only our knowledge and wisdom separates us, don't let your eyes deceive you."

"If a shortcut was meant to be easy, it wouldn't be a shortcut, it would be the way!"

Google Rank Extractor -> Perl beta with FusionCharts
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top