C#winform程序打包部署 如何把SQL 数据库 一起打包进去

C#winform程序打包部署 如何把SQL 数据库 一起打包进去,第1张

打包数据库到安装程序

方法1 备份/恢复

先备份数据库:

backup database 数据库 to disk='c:\备份bak'

将备份文件打包到安装程序中

在第一次运行程序的时候,进行数据库恢复(或专门做一个系统配置的程序,来控制完成此工作)

restore database 数据库 from disk='c:\备份bak'

方法2 分离/附加

先分离数据库:

sp_detach_db '数据库名'

将数据文件(mdf)和日志文件(ldf)打包到安装程序中

在第一次运行程序的时候,进行数据库附加(或专门做一个系统配置的程序,来控制完成此工作)

sp_attach_db '数据库名','数据文件名(mdf)','日志文件名(ldf)'

方法3 用数据库脚本

生成数据库脚本:

sql200企业管理器

--右键要导出的数据库

--所有任务

--生成SQL脚本

--<常规>里选择"生成全部对象脚本"","在脚本文件中包含说明性标题"选上

--<设置格式>里,将"包含扩展属性",选上

--<选项>中,将"表脚本选项"中的内容全部选择上

--<选项>中,"安全性选项"是决定是否要包含创建数据库及用户权限等的设置,根据你的需要选择

--其他所有的选项保持默认值

--然后确定,将其保存成一个sql文件

生成数据脚本(借用第三方工具):

SQL Server 数据库SQL脚本导出器10

(1) 支持所有数据类型(如binary,text,image)

(2) 支持表结构、索引、所有记录到SQL脚本

(3) 支持数据库、表的浏览

(4) SQL语句的编辑、执行

(5) 可备份数据库、表结构、记录

将脚本文件打包到安装程序中

在第一次运行程序的时候,执行脚本(或专门做一个系统配置的程序,来控制完成此工作),通过调用isqlexe文件完成

exec masterxp_cmdshell 'isql /E /i"sql文件"'

也可以直接在程序中调用isqlexe文件或直接将isqlexe文件集成到程序安装包中

很明确的。

=================================================================

补充

=================================================================

你的sql文件里要先创建数据库,然后再创建表,创建表的时候要往该数据库里创建表。

<connectionStrings>

<add name="CONN" connectionString="Data Source=192168363;Initial Catalog=;Persist Security Info=True;User ID=;Password="/>

</connectionStrings>

注意:Data Source=远程的ip地址,Initial Catalog=要连接的数据库名字,User ID=用户名,Password=密码,ok啦

方法/步骤1

先从左侧的工具栏拖进控件Button和RichTextBox。

接着在RichTextBox中写上连接数据库的字符串。

Data Source=AH;Initial Catalog=DS20;User ID=sa;password=xxxxxxx;

Data Source:数据库服务器名称。

Initial Catalog:数据库名称。

User ID:数据库用户名。

password:数据库连接密码。

双击Button按钮,进入按钮点击事件,添加访问数据库的代码。这里代码的意思是,尝试连接SQL数据库,如果连接成功则显示“OK”,如果连接失败则显示失败信息。

SqlConnection:表示数据库SQL连接的类。

Open():打开数据库。

Exception i:获取连接失败SQL的信息。

接下来分别演示“连接成功”和“连接失败”的效果。

SqlConnection conn =new SqlConnection("你的数据库连接串");

SqlCommand cmd = new SqlCommand("select from persons",conn);

connOpen();

SqlDataReader reader=cmdExecuteReader();

while(readerRead())

{

//这里相当于每次读取一条记录,自然一般要求对应生成一个节点

TreeNode node = new TreeNode();

nodeText = reader["PersonName"]ToString();

nodeTag = reader["PersonId"]ToString();//Tag 一般用来保存主键的值,为了将来用

thistreeView1NodesAdd(node);

---当然一般情况下,TreeNode节点应该还有其下的子节点,那就是

-- nodeNodesAdd(); //需要再次遍历数据库的另外多条记录

}

readerClose();

connClose();

插入: //单击选择添加的 private void pic_Click(object sender, EventArgs e)

{ dlgFilter = "JPG|jpg|BMP|bmp|PNG|png";

if (dlgShowDialog() == SystemWindowsFormsDialogResultOK)

{

picImage = ImageFromFile(dlgFileName);

txtFilePath = dlgFileName;

}

} public byte[] picData; public string txtFilePath = ""; 添加确定按钮代码: f (txtFilePath != "")

{

try

{

FileStream fs = new FileStream(txtFilePath, FileModeOpen, FileAccessRead);

int len = ConvertToInt32(fsLength);

b = new byte[len];

fsRead(b, 0, len);

fsClose();

}

catch

{

b = null;

}

} SqlConnection conn = new SqlConnection(strConn);

connOpen(); SqllCommand cmdInsert = new SqlCommand();

cmdInsertConnection = conn;

cmdInsertCommandText =插入语句; cmdInsertParametersAdd("@照片", SqlDbTypeImage); if (txtFilePath == "")

{

cmdInsertParameters["@照片"]Value = DBNullValue;

}

else

{

cmdInsertParameters["@照片"]Value = b;

}

cmdInsertExecuteNonQuery();

connClose();获取: public byte[] picData; SqlConnection conn = new SqlConnection(strConn);

SqlCommand cmd = new SqlCommand();

cmdConnection = conn;

cmdCommandText = "select from 联系人 where 编号=" + IDToString();

SqlDataAdapter sda = new SqlDataAdapter(cmd);

DataSet ds = new DataSet(); sdaFill(ds); if (dsTables[0]RowsCount == 1)

{

if (dsTables[0]Rows[0]["照片"] == DBNullValue)

{ //pic为picturebox控件

picImage = PhoneBoookPropertiesResourcesDeskShade;//为空的话给个默认

}

else

{

byte[] b = (byte[])(dsTables[0]Rows[0]["照片"]);

picImage = ImageFromStream(new MemoryStream(b));

picData = b;

}

}

以上就是关于C#/winform程序打包部署 如何把SQL 数据库 一起打包进去全部的内容,包括:C#/winform程序打包部署 如何把SQL 数据库 一起打包进去、C# winform cs架构的程序要怎么远程连接sql2005数据库呢、.net winform怎么连接mysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10189972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存