[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Using bcp to connect to SQL 2005 Express named instance

Posted on 2010-09-21
14
Medium Priority
?
2,853 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 143

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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

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 143

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 143

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 1000 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

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

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

Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
One of the most important things in an application is the query performance. This article intends to give you good tips to improve the performance of your queries.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

649 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