zoukankan      html  css  js  c++  java
  • SQLServer导入导出资料的方法

    要将SQLServer中的资料导入导出,可以使用bcp.exe 。

    Bcp.exe 程式为SQLServer提供的一个提供DOS的方式和SQLServer进行交互,进行导入导出资料动作。由于是SQLServer自带的工具,所以效能上还很好,测试过导入50W行的资料,效能很好。

    格式说明:

    Bcp.exe + 数据库名称 + ".." + 数据表名称 in 要导入资料的路径 + "-c -t, " + -U登录DB的用户名 -S服务器名称 -P密码 -R


    参数说明:

    -c使用char类型做为存储类型,没有前缀且以"\t"做为字段分割符,以"\n"做为行分割符。

    -t,表示是用符号"," 为各个栏位的分割符号。

    -U 登陆数据库的用户名称

    -P 登陆数据的密码

    -S 登陆数据库的IP

    -R 表示使用本地区域及语言设定进行导入导出动作。


    在C# 中只要将 调用Process的类就调用exe就可以了。

    ProcessStartInfo psi = new ProcessStartInfo("d:\\test\\bcp.exe", "XXXX..XXXXX in d:\\test\\test_100000.log -c -t\",\" -Usa -P -S\"192.168.0.1\"");
    Process proc = Process.Start(psi);
    if (proc != null)
    {
    proc.WaitForExit();
    this.ShowStatic(11, "End");
    }

    如果C# 写的调用程式所在的机器不包括SQLServer的话,可以找一台SQLServer 将里面的bcp.exe Copy 出来就OK了。对了,还需要一些别的文件要一起Copy出来

    文件包括

    Resources 文件夹\bcp.exe\sqlncli.dll 这3个就可以了。 如果程式的机器不让安装SQLServer, 这是一个很好的选择。


    如果程序所在的机器可以安装SQLClient的话,又要导入大量的数据的话,也可以使用

    BULK INSERT TABLE FROM '{0}' WITH (FIELDTERMINATOR = '^', ROWTERMINATOR = '\n', FIRSTROW = 1)

    这个SQL。



  • 相关阅读:
    125、TensorFlow计算图的执行
    123、TensorFlow的Job
    122、TensorFlow多设备运行
    121、TensorFlow张量命名
    关于CSRF跨域请求伪造的解决办法
    angular基于ui-router实现系统权限控制
    gulp自动化打包及静态文件自动添加版本号
    深入研究HTML5实现图片压缩上传
    移动web模拟客户端实现多方框输入密码效果
    高级功能:很有用的javascript自定义事件
  • 原文地址:https://www.cnblogs.com/zhucl1006/p/900247.html
Copyright © 2011-2022 走看看