2014-12-16 5 views
0

У меня есть два сценария, vbtest.vbs и jstest.js:SQLCMD висит в JScript, но не VBSCRIPT через WSH

vbtest.vbs:

Set sh = CreateObject("WScript.Shell") 
WScript.echo(sh.exec("sqlcmd -S my-server\name -U user -P pass -Q ""exit(USE [schemaName];SELECT COUNT(*) as Count FROM [myView] where [myColumn] = 'mySearchString';)""").StdOut.ReadAll)

jstest.js:

var sh = new ActiveXObject("WScript.Shell"); 
WScript.Echo(sh.exec("sqlcmd -S my-server\name -U user -P pass -Q \"exit(USE [schemaName];SELECT COUNT(*) as Count FROM [myView] where [myColumn] = 'mySearchString';)\"").StdOut.ReadAll());

Когда я запускаю vbtest, я получаю ожидаемый результат. Когда я бег jstest, новое окно командной строки для SQLCMD висит ничего в нем в течение нескольких секунд, а затем я получаю JScript окна сообщения с этим выходом:

HResult 0x35, Level 16, State 1 
Named Pipes Provider: Could not open a connection to SQL Server [53].

ответ

2

JScript строковых литералы должны отводящим для \:

my-server\name 

=>

my-server\\name 
+0

Спасибо, я не могу поверить, что я пропустил, что .... особенно учитывая, что я бежал». – Corey

 Смежные вопросы

  • Нет связанных вопросов^_^