【问题标题】:How do you create a folder using SQL如何使用 SQL 创建文件夹
【发布时间】:2016-01-12 17:17:36
【问题描述】:

我有一个 SQL 脚本,它从数据库中选择数据并将其存储到文件中。我无法创建目录来存储这些文件。

我有加载 SQL 文件的 shell 脚本。 Shell 和 SQL 位于与 MySQL db 不同的服务器上。我更喜欢使用 SQL 创建这个目录,因为我想避免使用 ssh。

有什么建议吗?令人惊讶的是,我在 Google 上找不到任何东西。

【问题讨论】:

  • 在运行脚本之前使用 shell 创建输出目录。
  • @TomFenech Shell 与 DB 位于不同的服务器上(将在其中创建文件夹)
  • 大概你有一些访问输出文件的方法(例如SSH),在这种情况下,你不能用它来创建目录吗?
  • @TomFenech 该文件夹将被另一个进程拾取。我只是想知道除了 ssh 是否还有其他选项,如果没有,我想我必须 ssh。

标签: mysql sql shell


【解决方案1】:

根据您的标签,我假设您使用的是 mysql。您可以使用 Microsoft SQL Server 或 Oracle 数据库来执行此操作,但不幸的是,目前还没有从 MySQL 创建目录的解决方案。

有些人会根据数据目录的创建为您提供解决方法,我不建议这样做,因为这可能会导致将来出现性能问题,或者最糟糕的情况。

最好的解决方案是使用脚本(java、vbscript、SSH、批处理……)。同样,您将无法在 SQL 查询中轻松启动此脚本。我知道这不是好消息,但重要的是不要把你引向错误的方向。

我建议你改变想法,从脚本开始你的 SQL 查询(同样,任何你习惯的语言)。

【讨论】:

    【解决方案2】:

    除了向目标框打开 ssh 会话之外,我找不到任何其他方式。

    1. 打开 ssh 会话
    2. 创建目录
    3. 关闭 ssh 会话
    4. 使用shell加载sql文件
    5. sql将生成的文件添加到第2步创建的目录中。
    ssh -t $USER@$HOST <<-SSH-END;
      mkdir -p "dir/path";
      exit;
    SSH-END
    

    共享以防其他人需要这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 2016-08-01
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多