Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接的sql脚本中的特殊字符导致错误_Sql_Sql Server_Tsql - Fatal编程技术网

连接的sql脚本中的特殊字符导致错误

连接的sql脚本中的特殊字符导致错误,sql,sql-server,tsql,Sql,Sql Server,Tsql,我将存储过程代码保存为文件,然后在几个不同的数据库中执行它们。我正在尝试连接多个文件(100个)。我使用的每个实用程序似乎都会在文件中创建一些特殊字符,当我在sql中执行脚本时,这些字符会导致错误 目前,我使用 type *.sql > script.sql 在DOS中。我在很多地方都遇到了以下错误 Msg 102, Level 15, State 1, Line 1 Incorrect syntax near ''. 如何找到此角色,以便执行查找/替换?谢谢 我也做了类似的事情。下面

我将存储过程代码保存为文件,然后在几个不同的数据库中执行它们。我正在尝试连接多个文件(100个)。我使用的每个实用程序似乎都会在文件中创建一些特殊字符,当我在sql中执行脚本时,这些字符会导致错误

目前,我使用

type *.sql > script.sql
在DOS中。我在很多地方都遇到了以下错误

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ''.

如何找到此角色,以便执行查找/替换?谢谢

我也做了类似的事情。下面是批处理文件
\uu QuickConcatenate\u SQL.bat
中的文本,它将把同一文件夹中的所有
*.SQL
文件复制到一个新文件中:

  REM  Concatenate all .sql files into a single file

@ECHO OFF
CLS

COPY  *.sql  __ConcatenatedSQLScripts.sql  /b

ECHO.
PAUSE
请注意“/b”参数。我很久以前写过这篇文章,我记得写这篇文章是为了防止添加奇怪的字符——CR、LF、EOF,诸如此类。(我从来都不知道如何控制程序被复制的顺序…)


还请注意,只有当每个文件中的最后一行是“GO”,后跟CR+LF(例如,在SSMS中键入“GO”并按enter键)时,这才有效。

这是否发生在任何两个sql脚本文件中?如果你在记事本中打开文件,它看起来正确吗,或者你在那里看到一个时髦的块字符吗?如果你在执行.sql文件Msg 102,级别15,状态1,第1行时得到这个,请在这里包括实际的文件(如果你喜欢,也可以附加,如果它都在一行上,没有新行,这将使调试变得很困难否?),你应该a)分成几行,b)仔细分析第1行。很有可能GO只是在他的脚本中丢失了。想想看。如果没有它,SQL Server可能不知道一个块从哪里结束,另一个块从哪里开始。(当然,如果他不在自动提交模式下,这将影响事务提交)PS-我从来没有意识到NT批处理复制可以压缩文件!谁会想到呢。(特别是考虑到使用情况)我运行了该脚本,并在生成的文件中获得了这些字符?»?/*******ObjecAre文件中是否有“标准”字符?如果不是,那么您的.sql文件可能是Unicode格式的。轻松检查:在记事本中打开文件,执行“另存为”,然后查看默认文件的“类型”。“另存为”标准ascii应该解决这个问题……不是说它不好,不是,只是我发现非unicode脚本更容易使用(当然,除非存储过程中需要unicode)。