我在查询分析器中执行下列语句:
EXEC   master..xp_cmdshell   'bcp   myserver.testDB.dbo.temp1   out   c:\temp1.xls   -c   -Usa   -P'  出现下列错误
SQLState = 37000, NativeError = 4060
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录 'ca_server' 中请求的数据库。登录失败。
NULL
我在本社区看到类似帖子,试了,还报错,请高手赐教!在线等待!!!!!

解决方案 »

  1.   

    EXEC       master..xp_cmdshell       'bcp       select * from myserver.testDB.dbo.temp1       queryout       c:\temp1.xls       -c       -Usa       -P'     
      

  2.   


    EXEC master..xp_cmdshell 'bcp "select  * from myserver.testDB.dbo.temp1"  queryout  c:\temp1.xls  -c   -Usa   -P123'     
      

  3.   

    非常感谢,上述语句是导出到xls文件中,如果从xls文件导入到sql server 数据库中,这样写对吗?
    EXEC       master..xp_cmdshell       'bcp       myserver.testDB.dbo.temp1       in c:\temp1.xls       -c       -Usa       -P'     
      

  4.   

    非常感谢,上述语句是导出到xls文件中,如果从xls文件导入到sql server 数据库中,这样写对吗?
    EXEC       master..xp_cmdshell       'bcp       myserver.testDB.dbo.temp1       in c:\temp1.xls       -c       -Usa       -P'     
      

  5.   

    当然了你是对连接服务器操作 用 opendatasource 试下
      

  6.   

    能给个opendatasource 的例子吗?我现在想实现把本地xls文件中的几十万条数据传到服务器端的sql server数据库中,使用bcp可以吗?Thank you ! 
      

  7.   

    我现在想实现把本地xls文件中的几十万条数据传到服务器端的sql   server数据库中
    --------------------------------------------------------------------一定要用语句导入吗用DTS 又方便又快
      

  8.   

    insert into myserver.testDB.dbo.temp1
    select * from OpenDataSource( MICROSOFT.JET.OLEDB.4.0,
    Data Source="G:\WorkEveryDay\DayDo\OrderList";User ID=;Password=;Extended properties=Excel 5.0)...OrderList$OpenDataSource 
    1. 操作SQL 服务器数据,如SQL Server /Oracle 等等 
    格式:
    SELECT top 10 * 
    FROM OPENDATASOURCE( 
    ProviderName, 
    Data Source=ServerName;User ID=LoginUser;Password=Password 
    ).[DataBaseName].dbo.TableName 
    以上是以我公司数据库为,OrderMaster 是销售单表
    如:
    SELECT top 10 * 
    FROM OPENDATASOURCE( 
    SQLOLEDB, 
    Data Source=globe01;User ID=xw_cai;Password=123 
    ).[order].dbo.ordermaster 
    2. 操作Excel 表 
    格式:
    SELECT * 
    FROM OpenDataSource( MICROSOFT.JET.OLEDB.4.0,
    Data Source="Excel文件所存放的路径";User ID=;Password=;Extended properties=Excel 5.0)...SheetName$
    SheetName 工作区名称 , 其工作区的名称的后缀 $ 不能少 
    如:
    SELECT * 
    FROM OpenDataSource( MICROSOFT.JET.OLEDB.4.0,
    Data Source="G:\WorkEveryDay\DayDo\OrderList";User ID=;Password=;Extended properties=Excel 5.0)...OrderList$
    3. 操作Text 文本文件 
    格式:
    SELECT * FROM
    OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,
    Text;HDR=no;Database=存放Text文本文件路径)...[TextName#txt]
    TextName是文本文件名称,txt是文本文件后缀,其中#不能少,不能将#改为.也报错,格式TextName.txt是不正确,正确TextName#txt。Database=’\’最后一个\不能少。
    例子:
    SELECT * FROM
    OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,
    Text;HDR=no;Database=E:\Study\C#\Data\?W???Y料\Text\)...[textName#txt]