加载中…
个人资料
四海名汀
四海名汀
  • 博客等级:
  • 博客积分:0
  • 博客访问:13,091
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ct_connect(): directory service layer: internal directory control&

(2012-12-13 16:01:32)
标签:

bcp命令错误

establishingconnecti

sqlserver命令错误

it

分类: 数据库学习
一、错误描述     
    今天测试SQL Server的BCP命令,当运行“exec master..xp_cmdshell 'bcp "pTest.dbo.transinfo" out c:\bu.txt  -S"(local)" -U"sa" -P"sa" -c'”时,报如下错误:
CTLIB Message:  - L6/O8/S5/N3/5/0:
ct_connect(): directory service layer: internal directory control layer error: Requested server name not found.
Establishing connection failed.

二、分析原因
    BCP的语法肯定是没有问题的,但是为什么运行时不能成功在网上仔细搜查资料,终于找到BCP出错的问题所在。
    我的系统中之前安装了Sybase数据库,而SQLSERVER数据库是在Sybase之后装的,这样就导致了SQLSERVER对应的环境变量在Sybase之后了,在执行BCP命令时,系统首先找到的BCP是Sybase的BCP,而不是SQLSERVER的。用Sybase的BCP往SQLSERVER中导数据当然会有问题。

三、解决方法
    在PATH环境变量中将所有涉及SQL Server的环境变量提到Sybase之前,这样就可以了。看来windows的环境变量也有先后优先级之分,在之后的应用中得引以注意





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有