暂无图片
命令放到bcp之后不能正常执行? 有没有哪位大神熟悉BCP命令的使用,语句放到bcp里之前,是可以正常执行的.
我来答
分享
QIU飞
2021-07-30
命令放到bcp之后不能正常执行? 有没有哪位大神熟悉BCP命令的使用,语句放到bcp里之前,是可以正常执行的.
暂无图片 5M

命令放到bcp之后不能正常执行?
有没有哪位大神熟悉BCP命令的使用,语句放到bcp里之前,是可以正常执行的.
2.png

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
冯守东

请检查一下字符编码格式

暂无图片 评论
暂无图片 有用 0
打赏 0
lscomeon
-- =============================================
-- Author:        <Viajar>
-- Create date: <2010/06/01>
-- Description:    <生成bcp导出的字符串>
-- Remark: 
-- 适用于:连续、有规律表名的bcp命令
-- 表名 = 表名前缀 + 起始表后缀 进行分离
-- 路径 = 路径前缀 + 起始表后缀 进行分离
-- =============================================
DECLARE @tableNamePrefix VARCHAR(50);--表名前缀:temp_gb2.dbo.gbRawActivatePDPContextReq_04
DECLARE @savePathPrefix VARCHAR(50);--路径前缀:I:\gbForKevin\gbRawActivatePDPContextReq_04
DECLARE    @start int;--起始表后缀:01
DECLARE @end int;--截至表后缀:20
DECLARE @dataBase VARCHAR(50);--数据库实例:BW-DATA\BOTWAVE
DECLARE @user VARCHAR(50);--数据库用户登陆名:sa
DECLARE @password VARCHAR(50);--密码:password
DECLARE @splitString VARCHAR(50);--csv文件的分隔符:|

--设置变量
SET @tableNamePrefix ='temp_gb2.dbo.gbRawActivatePDPContextReq_04'
SET @savePathPrefix ='I:\gbForKevin\gbRawActivatePDPContextReq_04'
SET @start = 01
SET @end = 20
SET @dataBase ='BW-DATA\BOTWAVE'
SET @user ='sa'
SET @password ='password'
SET @splitString ='|'

BEGIN
    DECLARE @i INT;--用于循环的计数器.
    DECLARE @iString VARCHAR(5);--@i的字符串变量.
    DECLARE @sql VARCHAR(max);--保存生成的SQL.
    SET @i = @start

    WHILE(@i<=@end)
    BEGIN
        SET @iString = CONVERT(varchar(5), @i)
        IF(len(@iString)=1) 
        BEGIN
            SET @iString = '0' + @iString
        END
        SET @sql = 'EXEC master..xp_cmdshell ''bcp "SELECT * FROM ';
        SET @sql = @sql + @tableNamePrefix + @iString;--@tableNamep
        SET @sql = @sql + '" queryout '+ @savePathPrefix + @iString + '.csv ';--@savePath
        SET @sql = @sql + '-S '+ @dataBase + ' -U"'+@user+'" -P"'+@password+'" ';--@dataBase
        SET @sql = @sql + '-c -t"'+ @splitString + '" -r"\n" -k -b10000 -a65535''';--other parameter
        PRINT '--' + @tableNamePrefix + @iString
        PRINT @sql
        PRINT 'GO'
        PRINT char(13)--换行符.
        SET @i = @i +1
    END
END

复制
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
如何在 TOAD 中同时运行两个 ORACLE SQL 查询?
回答 2
开两个SQL窗口
oracle 监听程序能监听在多块网卡不同ip上面吗?
回答 1
已采纳
可以。
什么是复合类型的变量?
回答 2
已采纳
所谓复合类型变量,就是每个变量包含多个元素,可以存储多个值。复合类型的变量需要先定义,然后才能声明该类型的变量。常用的三种类型包括记录类型、索引表类型和VARRAY数组。
oracle体系结构,进程问题
回答 3
有可能是LOCALyes的
数据迁移,创建表时sdo_geometry提示无效数据类型
回答 1
需要创建spatial用户和对象,或者看看这个表,可能是测试表,就可以忽略
Oracle联机日志文件的状态有哪些?
回答 2
已采纳
在Oracle日志中,最容易模糊的就是日志文件的3个状态,它们的含义如下:current:表示LGWR正在写的日志文件。active:表示LGWR正在写的日志文件,实例恢复时需要这种文件。inacti
请问 oracle 如何查找几分钟前网络输出流量最大的SQL?
回答 1
这两个无直接联系
rhel8.4安装了19c,客户端无法连接
回答 3
已采纳
是虚拟机的问题,主机无法连接虚拟机。将网络模式改为桥接模式,虚拟机的IP跟主机选为一个网段,则连接成功了。谢谢大家
sequence 跳号异常
回答 8
上传附件:存在seq$的10046.rar
oracle 19c 创建的job不执行,怎么办?
回答 3
是不是缺少相关权限?