?
Solved

Using bcp to connect to SQL 2005 Express named instance

Posted on 2010-09-21
14
Medium Priority
?
2,806 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
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 

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

How Blockchain Is Impacting Every Industry

Blockchain expert Alex Tapscott talks to Acronis VP Frank Jablonski about this revolutionary technology and how it's making inroads into other industries and facets of everyday life.

Question has a verified solution.

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

JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
What if you have to shut down the entire Citrix infrastructure for hardware maintenance, software upgrades or "the unknown"? I developed this plan for "the unknown" and hope that it helps you as well. This article explains how to properly shut down …
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Suggested Courses

801 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