Solved

Using bcp to connect to SQL 2005 Express named instance

Posted on 2010-09-21
14
2,666 Views
Last Modified: 2012-06-21
I have multiple SQL Express installations on a machine (as well as a SQL 2008 installation)

On the SQL Express named instance that I wish to bcp into (e.g. MyInstance), I have attached a database and the database is appearing under management studio as  e.g. "C:\SQL\Data\MyDB.dbf"

The instance is set to mixed mode authentication and I can connect to the instance in SQL Server Management Studio using Windows Authentication.  Note that the database name of the attached database is showing as "C:\SQL\Data\MyDB.mdf" listed under Databases in the SQL 2005 Express instance.

So I try to bcp in using the following command:

bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S MyPC\MyInstance -T

but I get:

SQLState = 37000, NativeError = 4060
Error = [Microsoft][SQL Native client][SQL Server]Cannot open database "MyDB" requested by the login. The login failed.

SQLState = 28000, NativeError = 18456
Error = [Microsoft][SQL Native client][SQL Server]Login failed for user 'MyDomain\myuser\'

Can somebody please provide me with the correct parameters to use for this bcp operation.

Thanks
0
Comment
Question by:fujih
  • 7
  • 4
  • 3
14 Comments
 
LVL 7

Expert Comment

by:mmr159
ID: 33724302
I often use named instances... sometimes you have to specify the port.  Try:

bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S MyPC\MyInstance,1433 -T

(Assuming default port)
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 33724330
>Error = [Microsoft][SQL Native client][SQL Server]Cannot open database "MyDB" requested by the login. The login failed.

means that your windows login cannot connect to that database...
you said you attached the db... did you "fix" the login "links" ?
http://msdn.microsoft.com/en-us/library/aa259633%28SQL.80%29.aspx
0
 

Author Comment

by:fujih
ID: 33724351
But I can connect to the SQL Express instance using the same user in trusted mode via the Management Console and can query the database there
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 

Author Comment

by:fujih
ID: 33724406
mmr159,

If my PC name contains a hyphen e.g. myPC-DEV do I need to enclose in quotation marks.  Also what should I use for MyDB as in Management Studio it is appearing as "C:\SQL\Data\MyDB.mdf" under Databases.

Should I use:

bcp "C:\SQL\Data\MyDB.mdf".dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV/myInstance".1433 -T

If I that in the command window just shows the bcp usage information
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 33724432
yes, the "-" will require the double quotes.
0
 

Author Comment

by:fujih
ID: 33724651
After I have change the bcp command to:

bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV/myInstance" -T

I am getting:

SQLState = 08001, NativeError = -1
Error = [Microsoft][SQL Native client]SQL Network Interfaces: Error Locating Server/Instance specified [xFFFFFFFF].

SQLState = 08001, NativeError = -1
Error = "Microsoft][SQL Native client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.

SQLState = S1T00, NativeError = 0
Error = [Microsoft][SQL Native client]Login timeout expired


I am running the bcp command on the same machine that the the SQL Express instance is installed upon
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 33724663
use \ instead of / for the instance name


bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV\myInstance" -T

Open in new window

0
 

Author Comment

by:fujih
ID: 33724719
Sorry that was a typo I am already using

bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV\myInstance" -T

and get


SQLState = 08001, NativeError = -1
Error = [Microsoft][SQL Native client]SQL Network Interfaces: Error Locating Server/Instance specified [xFFFFFFFF].

SQLState = 08001, NativeError = -1
Error = "Microsoft][SQL Native client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.

SQLState = S1T00, NativeError = 0
Error = [Microsoft][SQL Native client]Login timeout expired
0
 
LVL 7

Expert Comment

by:mmr159
ID: 33725021
Did you try specifying the port?

server\instance[comma]port_num

Example:
bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV\myInstance,1433" -T
0
 

Author Comment

by:fujih
ID: 33725046
Yes when I use
bcp MyDB.dbo.Test in "c:\SQL\Data\Test.txt" -c -S "myPC-DEV\myInstance,1433" -T

I get the same errors:
SQLState = 08001, NativeError = -1
Error = [Microsoft][SQL Native client]SQL Network Interfaces: Error Locating Server/Instance specified [xFFFFFFFF].

SQLState = 08001, NativeError = -1
Error = "Microsoft][SQL Native client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.

SQLState = S1T00, NativeError = 0
Error = [Microsoft][SQL Native client]Login timeout expired
0
 
LVL 7

Accepted Solution

by:
mmr159 earned 250 total points
ID: 33725119
I am now leaning towards something in your surface area configuration.  Try connecting by IP:

IP_address\instance

Also try connecting with SQL authentication.

http://support.microsoft.com/kb/195566

If that fails, try Programs -> ... -> SQL -> Configuration Tools -> SQL Server Surface Area Configuration

http://www.databasejournal.com/features/mssql/article.php/3692831/SQL-Server-2005-Express-Edition---Part-4---Surface-Area-Configration.htm
0
 

Author Closing Comment

by:fujih
ID: 33725807
mmr159,

Once I had used SQL Server Surface Area Configuration to change Remote Connections to 'Local and Remote Connections', the bcp operation worked.

Still unclear though why I needed to change this when I was running the bcp operation from the same machine that the SQL Express instance was installed upon
0
 
LVL 7

Expert Comment

by:mmr159
ID: 33725906
Glad it worked.

Not certain, but it could be because you specified

computername\instance

perhaps the following would have worked

.\SQLEXPRESS
- or -
(local)\SQLEXPRESS
0
 

Author Comment

by:fujih
ID: 33725934
I had already tried .\SQLExpress and local\SQLExpress prior to enabling Remote Connections on the SQL Express instance and had the same error.

Maybe bcp needs remote connections enabled to work?
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question