Exe, созданный из файла bat с использованием iexpress, не может быть выполнен - PullRequest
0 голосов
/ 02 июня 2019

У меня есть командный файл, вызывающий команды «drop sqdcmd» и команды создания процедур, он прекрасно работает только при выполнении файла bat.Но когда файл .bat преобразуется в исполняемый файл с помощью iexpress (средство Windows), приложение не запускается с указанной ниже ошибкой.

Я попытался преобразовать «bat-файл, выполняющий сценарий sql для создания базы данных» в exe, используяiexpress и все работало нормально.Но команды удаления и создания процедур терпят неудачу.

Пытаюсь создать exe из командного файла, используя инструмент iexpress.Во время пакета все файлы зависимостей входят в пакет.Моя проблема заключается в создании EXE из "CreateProcedure.bat".Предложения и решения приветствуются.

CreateDB.bat

set path=C:\Program Files (x86)\Microsoft SQL Server\Client 
SDK\ODBC\110\Tools\Binn;%path%
sqlcmd -U sa -P texas#2019 -i CreateDB.sql

CreateDB.sql

GO
CREATE DATABASE TEX
ON
( NAME = TEX_Data,
  FILENAME = 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\TEX_Data.MDF',
  SIZE = 500,
  MAXSIZE = 500, 
  FILEGROWTH = 0 )
LOG ON
( NAME = TEX_Log,
  FILENAME = 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\TEX_Log.LDF',
  SIZE = 250,
  MAXSIZE = 250, 
  FILEGROWTH = 0 )
GO
USE TEX
GO
CREATE LOGIN texas WITH PASSWORD = 'texas',CHECK_POLICY = OFF
GO
USE TEX
GO
sp_adduser 'texas'
GRANT 
 BACKUP DATABASE,
 BACKUP LOG,
 CREATE DEFAULT,
 CREATE FUNCTION,
 CREATE PROCEDURE,
 CREATE RULE,
 CREATE TABLE,
 CREATE VIEW 
 TO iris; 
ALTER DATABASE TKO SET RECOVERY SIMPLE
GO

CreateProcedure.bat

USE master
sqlcmd -U texas -P texas -Q "drop table staging"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_old"
sqlcmd -U texas -P texas -Q "drop procedure sp_import"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_from_old"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging"
sqlcmd -U texas -P texas -Q "drop procedure sp_export"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_no_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_4_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_no_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_4_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_export_no_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_export_4_TEX"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_no_TEX_Rel_4"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_no_TEX_Rel_4"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_no_TEX_Rel_5"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_no_TEX_Rel_5"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_4_TEX_Rel_5"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_4_TEX_Rel_5"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_no_TEX_Rel_6"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_no_TEX_Rel_6"
sqlcmd -U texas -P texas -Q "drop procedure sp_import_4_TEX_Rel_6"
sqlcmd -U texas -P texas -Q "drop procedure sp_staging_4_TEX_Rel_6"
sqlcmd -U texas -P texas -d TEX -i sp_staging_old.sql
sqlcmd -U texas -P texas -d TEX -i sp_import.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_from_old.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_no_TEX.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_no_TEX_Rel_4.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_no_TEX_Rel_5.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_no_TEX_Rel_6.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_no_TEX_Rel_7.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_4_TEX.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_4_TEX_Rel_5.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_4_TEX_Rel_6.sql
sqlcmd -U texas -P texas -d TEX -i sp_import_4_TEX_Rel_7.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_no_TEX_Rel_4.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_no_TEX_Rel_5.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_no_TEX_Rel_6.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_no_TEX_Rel_7.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_no_TEX.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_4_TEX.sql
sqlcmd -U texas -P texas -d TEX -i sp_staging_4_TEX_Rel_5.sql

Ошибка:

"Windows cannot access the specified device, path, or file. You may not 
have the appropriate permissions to access the item"

Also the following notification from antivirus program:
"A Process was blocked because malicious behaviour was detected"
...