C# 区分.sql文件是PL/sql还是TSQL

C# 区分.sql文件是PL/sql还是TSQL,c#,tsql,plsql,C#,Tsql,Plsql,我有一个.sql文件列表,其中一些文件是Oracle PL/sql,另一些是Microsoft TSQL文件。如何使用C.net区分给定的.sql文件是PL/sql还是TSQL。我们怎样才能识别它呢 我需要一些示例C代码来更好地识别文件类型 是否有任何工具可供识别?请引导我 问候,, Sivaprakash.根据您的SQL Server版本,您可以使用Microsoft.Data.Schema.ScriptDom.SQL.TSqlParser类的派生来尝试解析SQL。然后,您可以检查它产生的错误

我有一个.sql文件列表,其中一些文件是Oracle PL/sql,另一些是Microsoft TSQL文件。如何使用C.net区分给定的.sql文件是PL/sql还是TSQL。我们怎样才能识别它呢

我需要一些示例C代码来更好地识别文件类型

是否有任何工具可供识别?请引导我

问候,,
Sivaprakash.

根据您的SQL Server版本,您可以使用Microsoft.Data.Schema.ScriptDom.SQL.TSqlParser类的派生来尝试解析SQL。然后,您可以检查它产生的错误(如果有),以确定它是否是TSQL

这个答案可能有助于解析PL/SQL


简单的select语句在这两种语言中是相同的,因此您希望如何区分它们?我最好的方法是检查文件中是否存在某些特定的PL/SQL单词,如果是这样,则该文件是PL/SQL文件,否则是TSQL文件。但首先将它们放在不同的文件夹中不是一个好主意?我需要创建一个解析器工具,它应该接受所有.sql文件,我需要区分它是否需要使用解析器类型,并基于此区分SELECT*和TABLE。我使用的是Microsoft.Data.Schema.ScriptDom.sql。TSql100Parser类来解析.sql文件。在这种情况下,解析不会引发任何错误。我使用的是Microsoft.Data.Schema.ScriptDom.Sql。TSql100Parser类来解析TSQL文件。如果.sql文件大小增加,则需要更多的时间来解析。例如,2MB文件解析需要8分钟以上。这不是最佳做法。帮帮我。你可能想更新你的问题。黑客可能会检查GO关键字是否存在,这是TSQL特有的。谢谢你的回复。我来检查一下。