【问题标题】:run SQL script using Rocket Universe from AIX command line (uvsh)从 AIX 命令行 (uvsh) 使用 Rocket Universe 运行 SQL 脚本
【发布时间】:2015-02-17 11:29:45
【问题描述】:

希望这是一个简单的问题。我想编写一个调用 SQL 脚本的 shell 脚本来在 Rocket UNIVERSE 数据库中进行一些查询。我从服务器命令行(数据库所在的同一台机器)执行此操作。

在 SQLSERVER 中,我可能会执行以下操作:

sqlcmd -S myServer\instanceName -i C:\myScript.sql

像这样在 Oracle 中:

SQL>@/dir/test.sql

在紫外线中我无法弄清楚:

uvsh ??? some.sql file

所以在 test.sql 文件中我可能有如下内容:

"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=91;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=92;"
"SELECT ID, COL1, COL2 FROM PRODUCT WHERE @ID=93;"

所以这可以做到还是我做错了?也许另一种方法更理想? -- 谢谢!

【问题讨论】:

    标签: sql universe u2 rocket


    【解决方案1】:

    您可以使用以下命令将命令列表发送到 UniVerse 进程。

    C:\U2\UV\HS.SALES>type test.sql | ..\bin\uv
    

    您将不需要在您描述的每个语句周围加上“”。

    对于 HS.SALES 帐户,以下 SQL 命令应该可以工作:

    SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='2';
    SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='3';
    SELECT @ID, FNAME, LNAME FROM CUSTOMER WHERE @ID='4';
    

    请注意,这可能不是您想要的,这会将结果显示为标准输出。此外,以这种方式向 UniVerse 发送命令时应小心谨慎。如果所有 UniVerse 许可证都在使用中,uv 命令将失败,SQL 命令将永远不会执行。

    【讨论】:

    • 感谢您的回复!我很抱歉没有更具体。我在 AIX 上。数据文件位于 /u2/eclipse 中。 uv命令在/u2/uv/bin/uv;但是,如果您只是在 /u2/eclipse 中键入“uv”,您会得到 UV 命令提示符。因此,当我从 /u2/eclipse 输入以下内容时:“type /home/user_dir/test1.sql | uv”我得到以下信息:>Program “UPDATE.LOGIN.INFO”第 26 行,数据类型不正确。
    • 您正在尝试直接调用 Eclipse 帐户。调用uv账号可以避免这个错误。
    猜你喜欢
    • 1970-01-01
    • 2021-03-13
    • 2011-10-07
    • 2018-10-05
    • 2020-03-15
    • 2012-05-03
    • 2011-05-01
    • 2013-09-14
    相关资源
    最近更新 更多