Why don't you just show the code you are using? If you do that, I bet a lot of people will try to help you to figure that out. If you don't help people to understand your problem and give them any resources for doing that, then you are lost. As I said before on CB, try to help the others to help you. You will learn more, the others will be satisfied to help you. Try to fix your position while people are still complaining about you, be worried when people just start to ignore you.
Going back to your problem, your code is executed from a Linux box or a Windows box? I understand that you're trying to reach a SQL Server 2000, but what about the client? Another point, the DSN is usually the first argument for DBI::connect(). For exemple, when using a SQLite database, your DSN will probably looks like dbi:SQLite:dbname=my.db. The DBD driver you'll be using will be the thing between the :.
Now, what are you using as DSN to connect the database and what is the operational system where the script is running?
Igor 'izut' Sutton
your code, your rules.