运行解决方案中存在的.sql文件

时间:2012-03-02 22:28:41

标签: c# sql sql-server database c#-4.0

我的解决方案中有一个.sql文件。这个.sql文件有一些脚本来创建数据库,在这个.sql文件的帮助下,我想在运行时创建一个数据库。我有很多代码片段在C#中运行.sql文件。但是,如果它们出现在我自己的解决方案和解决方案中,可以放在任何位置。是的,我可以通过解决方案路径获取文件路径,然后执行它,但是read somewhere that it is advisable。这是我必须遵循的方法吗?即使我发布我的应用程序,如果我这样做会没事吗?

2 个答案:

答案 0 :(得分:0)

您应该将其设置为编译为嵌入式资源,然后调用typeof(SomeType).Assembly.GetManifestResourceStream("YourNamespace.FileName.sql")

答案 1 :(得分:0)

将所有sql脚本名称放在SchemaScripts.sql中。该文件将包含以下条目:

:r .\Tables\MyTable.sql
:r .\StoredProcedures\My_SP.sql

在批处理文件中记下以下代码并将其保存在SchemaScripts.sql文件的相同位置:

sqlcmd -b -E -S .\SQLEXPRESS -d DatabaseName -i .\SchemaScripts.sql

执行批处理文件。