The Vertica Forum recently got a makeover! Let us know what you think by filling out this short, anonymous survey.
Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!
passing variables command line - from Windows VSQL client
my runnQuery.bat file contents
vsql -U user -w pwd -h host-p 5433 -v numvar=3 -f runSQL.sql
runSQL.sql contents
\o sqlOutput
select * from table where a=:numVar;
\o
C:\L>runnQuerypassArgs.bat
vsql:runSQL.sql:3: ERROR 4856: Syntax error at or near ":" at character 48
vsql:runSQL.sql:3: LINE 1: select * from omniture_new.dynamic_sql where a=:numVar;
vsql:runSQL.sql:3: ^
This works well in UNIX but i am not able to get this working in Windows. Can someone please suggest any ideas?
Also, how do i pass in multiple variables to the same SQL file?
vsql -U user -w pwd -h host-p 5433 -v numvar=3 -f runSQL.sql
runSQL.sql contents
\o sqlOutput
select * from table where a=:numVar;
\o
C:\L>runnQuerypassArgs.bat
vsql:runSQL.sql:3: ERROR 4856: Syntax error at or near ":" at character 48
vsql:runSQL.sql:3: LINE 1: select * from omniture_new.dynamic_sql where a=:numVar;
vsql:runSQL.sql:3: ^
This works well in UNIX but i am not able to get this working in Windows. Can someone please suggest any ideas?
Also, how do i pass in multiple variables to the same SQL file?
0
Comments
Hello Srivatsan,
What is the content of your "runnQuerypassArgs.bat?"
I tested a batch file that is very similar to yours, and it worked fine.
Here is my .bat file:
"C:\Program Files\Vertica Systems\bin\vsql" -U dbadmin -w password -h xx.xx.xx.xx -d gr_test2 -v var1=5 -f c:\data\bat\test.sql
and here is my test.sql file:
select * from public.n where i = :var1;
I also tried to pass 'var1' as an argument like this:
"C:\Program Files\Vertica Systems\bin\vsql" -U dbadmin -w password -h 10.50.50.71 -d gr_test2 -v var1=%1 -f c:\data\bat\test.sql
then call the batch file from command prompt:
myvsql 5
and it worked fine too.
Since the .sql file doesn't take any parameter, I haven't found a way to pass multiple argument to it.
Regards,
Han