不附加数据库 ASP.NET调用.“.NET研究”sql文件

简介:   笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。

  笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。创建数据库语句好办,

 
 
" IF Not EXISTS (select name from master.dbo.sysdatabases where name =
N'
" + DataBaseName + " ') CREATE DATABASE " + DataBaseName " Use [ "
+ DataBaseName + " ]; "

  在asp.net中的cs文件中像执行sql语句一样执行就行了。

  那么创建数据库的语句怎么得到呢?一个方法是设计数据库的文件中直接生成,另外一个方法从现有的数据库中获得。选取数据库点击反键如图

1

  然后选择任务的生成脚本

1

   然后选择任务的生成脚本

  下面弹出来的对话框中的选择笔者相信大家都会,按照自己所需选择,不知道的就不要管了。但是要注意这个页面

1

  首先这里只选择表,因为仅仅是需要表的执行语句。那么可以生成一个.sql文件。笔者这里命名为:CreateTable.sql

  那么我们只用在cs文件中读取CreateTable.sql中的字符串即可像sql语句一样执行

 
 
StreamReader strRead 上海徐汇企业网站制作/span>= File.OpenText("D:\\CareateTable.sql"上海徐汇企业网站设计与制作le="color: #000000;">);
string strContent= strRead .ReadToEnd(); strRead .Close();
SqlConnection con
=new SqlConnection();
con
="连接数据库字符串";
SqlCommond com
=new
SqlCommond();
com.Connection
=con;
com.CommandTest
=strContent;
com.CommandType
= CommandType.Text;
con.Open();
try
{
con.ExecuteNonQuery();
}
catch上海企业网站制作> (
Exception ex) { ...... }
finally上海闵行企业网站制作
{ conn.Close(); }

  那么会发现报错,就是g上海网站建设o语句附近有错误。可以利用word替换go成""那么在运行程序就发现数据库表也就创建出来了。

  那么可能会遇到这种情况,数据库包含存储过程,视图,函数等。这就是笔者遇到的情况。那么此时就需要在那个特别的图上全选。然而笔者照上面的做总是会报错,但是在sql里执行就没有报错。最终也终于解决该问题

 
 
Process sqlprocess = new Process();
sqlprocess.StartInfo.FileName
= " osql.exe " ;
// U为用户名,P为密码,S为目标服务器的ip,infile为数据库脚本所在的路径
sqlprocess.StartInfo.Arguments = String.Format( " -U {0} -P {1} -S {2} -i {3} -d {4} " ,
"
sa " , " asd123 " 上海企业网站设计与制作 , " 127.0.0.1 " , " D:\\CreateTable.sql " ,DataBaseName);
sqlprocess.Start();
// 等待程序执行.Sql脚本
sqlprocess.WaitForExit();
sqlprocess.Close();
Response.Write(
" <script>alert('Ok.');
</ script > " );

  这样在asp.net中就可以调用.sql文件了。

目录
相关文章
|
21天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
4天前
|
存储 数据库
LabVIEW如何修复或重置NI MAX数据库文件
LabVIEW如何修复或重置NI MAX数据库文件
10 0
|
5天前
|
SQL 数据库
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
12 1
|
3天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
3天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
3天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
3天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
5天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
7 0
|
6天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
7天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句