sql >> データベース >  >> RDS >> Oracle

PowerShellからSqlPlusにパラメーターとしてリストを挿入する方法

    PowerShellの例

    $username_dba = "system"
    $password_dba = "manager"
    $tnsalias_db = "es"
    $names = "'''Name1'',''Name2'', ''X'''"
    $params = '"' + $names + '"'
    $sqlfile = "@sqltest.sql"
    
    Write-Host  $names
    Write-Host  $params
    
    C:\oracle\instantclient_11_2\sqlplus  $username_dba/[email protected]$tnsalias_db  $sqlfile  $params
    

    出力PowerShell:

    C:\upwork\stackoverflow\param_sql>powershell .\sql_param.ps1
    '''Name1'',''Name2'', ''X'''
    "'''Name1'',''Name2'', ''X'''"
    
    SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 15 11:46:49 2019
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    
    old   1: select sysdate from dual where DUMMY in (&&1 )
    new   1: select sysdate from dual where DUMMY in ('Name1','Name2', 'X' )
    
    SYSDATE
    ---------
    15-NOV-19
    
    Disconnected from Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    

    batファイルの例。

    @echo off
    set user_name=system
    set password=manageresmd
    set net_service_name=esmd
    set param1='''test1'',''test22'',''X'''
    
    C:\oracle\instantclient_11_2\sqlplus.exe  %user_name%/%password%@%net_service_name%  @sqltest.sql %param1%
    pause
    

    出力batファイル:

    C:\upwork\stackoverflow\param_sql>sqltest1.bat
    
    SQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 15 11:50:58 2019
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    
    old   1: select sysdate from dual where DUMMY in (&&1 )
    new   1: select sysdate from dual where DUMMY in ('test1','test22','X' )
    
    SYSDATE
    ---------
    15-NOV-19
    
    Disconnected from Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    



    1. ブートストラップカルーセルを使用してデータベースの画像を表示するようにこのループを修正するにはどうすればよいですか?

    2. PowerShellをSalesforce.comに接続する

    3. SQLServerをJavaデータベースに接続する

    4. Python、Brew、およびMySQLdb