一起谈.NET技术,不附加数据库 ASP.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 = File.OpenText( " D:\\CareateTable.sql " );
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(); }

  那么会发现报错,就是go语句附近有错误。可以利用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文件了。

目录
相关文章
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
320 3
|
9天前
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
30 12
|
29天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
1月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
2月前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统
|
2月前
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。