60587.htm

来自「一本很基础的SQL讲解」· HTM 代码 · 共 149 行 · 第 1/2 页

HTM
149
字号
<TABLE class=ln cellSpacing=0 borderColorDark=#ffffff align=center bgColor=#ddddd borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD bgColor=#ffffff><IMG src="/files/uploadimg/20071120/1444435.jpg"></TD></TR>
<TR>
<TD class=it align=middle bgColor=#dddddd>图6</TD></TR></TBODY></TABLE>
<P>在本教程中,保留默认的选项,点击“下一步”,生成.SQL 脚本:</P>
<TABLE class=ln cellSpacing=0 borderColorDark=#ffffff align=center bgColor=#ddddd borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD bgColor=#ffffff><IMG src="/files/uploadimg/20071120/1444436.jpg"></TD></TR>
<TR>
<TD class=it align=middle bgColor=#dddddd>图7</TD></TR></TBODY></TABLE>
<P>至此,你就拥有一个名为Personal.SQL的文件,内含你可以在任何SQL服务器上运行的脚本,该脚本能用来重建数据库中的数据表,存储过程,视图,全文索引目录等,以及导入创建.SQL文件时对应数据库中的所有的数据记录。</P>
<P>该.SQL文件本身是个文本文件,所以你可以用任何文本编辑器将它打开,查看其中的内容,或者添加你自己的语句来做任何定制:</P>
<TABLE class=ln cellSpacing=0 borderColorDark=#ffffff align=center bgColor=#ddddd borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD bgColor=#ffffff><IMG src="/files/uploadimg/20071120/1444437.jpg"></TD></TR>
<TR>
<TD class=it align=middle bgColor=#dddddd>图8</TD></TR></TBODY></TABLE>
<P>注意,上面的.SQL文件既包括了创建Photos表所需的DDL SQL语句(包括该表所有约束和主键/外键等关系),也包括了在该表创建后在改该表内插入数据的SQL语句。在上面的例子中,甚至包括了插入相片的二进制数据的SQL语句,因为这些数据是保存在数据库里的。</P>
<P>#p#</P>
<P>把上述步骤对ASPNETDB SQL Express数据库重复执行之后,你将拥有2个你可以用来在任何SQL服务器上自动重建你的SQL数据库的.SQL 安装脚本:</P>
<TABLE class=ln cellSpacing=0 borderColorDark=#ffffff align=center bgColor=#ddddd borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD bgColor=#ffffff><IMG src="/files/uploadimg/20071120/1444438.jpg"></TD></TR>
<TR>
<TD class=it align=middle bgColor=#dddddd>图9</TD></TR></TBODY></TABLE>
<P>注意,我们建立的.SQL文可以用来在一个服务器上创建2个单独的数据库,或者也可以在同个数据库里运行,从而生成一个包含了你程序的所有的数据表,存储过程和数据的单一数据库。要实现这个目的,只要对同个数据库运行这两个脚本就可以了。假如没有表名和存储过程名冲突的话,你将拥有一个包括所有东西的单一数据库。当你的主机账号只提供了一个可用的数据库实例时,这后一个选项是非常有用的。</P>
<P><STRONG>第三步:用我们的 .SQL 文件创建我们的远程数据库</STRONG></P>
<P>至此,我们生成了 .SQL 文件,我们就可以用它们来在我们的主机环境中安装数据库了。我们怎么使用 .SQL 文件安装数据库的细节取决于主机供应商是如何让我们访问我们的SQL账号的。有些主机供应商提供了一个基于HTML的文件上传工具,允许你提供一个 .SQL 文件,然后他们可以在你拥有的SQL数据库里执行这个文件。</P>
<P>其他的主机供应商提供一个在线的查询工具(如下图所示),允许你拷贝/粘贴SQL语句来在你的数据库里运行。如果你的主机供应商提供了类似的在线查询工具的话,那么你可以用一个文本编辑器打开.SQL文件,然后把其中的内容拷贝/粘贴到查询文本框里,然后运行这些语句。</P>
<TABLE class=ln cellSpacing=0 borderColorDark=#ffffff align=center bgColor=#ddddd borderColorLight=#999999 border=1>
<TBODY>
<TR>
<TD bgColor=#ffffff><IMG src="/files/uploadimg/20071120/1444439.jpg"></TD></TR>
<TR>
<TD class=it align=middle bgColor=#dddddd>图10</TD></TR></TBODY></TABLE>
<P>不同主机供应商提供的SQL工具的质量不尽相同。在测试数据库发布向导时,我们发现主机供应商提供的一些定制的SQL管理工具会不正确地分析合法的SQL语句从而导致问题,特别是对于GOTO语句。这个页面描述了一个你也许见过的一些主机供应商的工具遭遇GOTO语句的问题。为了帮助全面提高SQL主机管理工具的质量,SQL Server产品组在明年的早些时候会发布一个免费的SQL HTML管理工具的源码,主机供应商可以将其集成到他们的界面中去。如果顺利的话,这将有助于改进所有Windows主机环境的标准体验。</P>
<P>如果你的主机供应商没有可用的HTML web管理工具让你轻松管理你的SQL数据库的话,那么你也可以编写一个简单的ASP.NET 网页,你可以将它和你的 .SQL 文件一起FTP到你的网站,然后访问该网页,该网页则把 .SQL 文件当作文本文件读入内存,然后将其变成一个字符串传给ADO.NET来执行。这将给予你和上面的查询分析器一样的结果,为你完全重建你的数据库。</P>
<P><STRONG>第四步:更新web.config中的连接字符串</STRONG></P>
<P>一旦在我们的主机环境的数据库里上传数据完毕,我们要向远程网站上传我们的.aspx文件,程序集和其他内容(一般是通过FTP来做的)。</P>
<P>我们要做的最后一步是打开我们的 web.config 文件,更新 部分来指向我们远程主机的新数据库位置。注意,你需要从主机供应商那里得到确切的SQL服务器,数据库名字,以及用户名/密码。</P>
<P>用我们上面的personal starter kit作为例子,我们要改动 web.config 文件中的 部分中的默认连接字符串(原本使用的是本地\app_data文件夹中的2个SQL Express数据库):</P>
<P>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code bgColor=#e6e6e6><PRE><PRE>&lt;connectionStrings&gt;<BR>&nbsp;&nbsp; &lt;add name="Personal" connectionString="Data Source=.\SQLExpress;</PRE><PRE>      Integrated Security=True;User Instance=True;</PRE><PRE>      AttachDBFilename=|DataDirectory|Personal.mdf" /&gt;&nbsp;&nbsp; <BR>&nbsp;&nbsp; &lt;remove name="LocalSqlServer"/&gt;<BR>&nbsp;&nbsp; &lt;add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;</PRE><PRE>      Integrated Security=True;User Instance=True;</PRE><PRE>      AttachDBFilename=|DataDirectory|aspnetdb.mdf" /&gt;<BR>&lt;/connectionStrings&gt;</PRE></PRE></TD></TR></TBODY></TABLE></P>
<P>来使用单个SQL Server 2000数据库(Server123机器上的scottguDB数据库)。</P>
<P>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
<TBODY>
<TR>
<TD class=code bgColor=#e6e6e6><PRE><PRE>&lt;connectionStrings&gt;<BR>&nbsp;&nbsp; &lt;add name="Personal" connectionString="Data Source=Server123;</PRE><PRE>     Initial Catalog=scottguDB;Integrated Security=True" </PRE><PRE>     providerName="System.Data.SqlClient" /&gt;<BR>&nbsp;&nbsp; &lt;remove name="LocalSqlServer"/&gt;<BR>&nbsp;&nbsp; &lt;add name="LocalSqlServer" connectionString="Data Source=Server123;</PRE><PRE>     Initial Catalog=scottguDB;Integrated Security=True" </PRE><PRE>     providerName="System.Data.SqlClient" /&gt;<BR>&lt;/connectionStrings&gt;</PRE></PRE></TD></TR></TBODY></TABLE></P>
<P>我们能够使用单个数据库(而不是上面的2个数据库),因为我们对单一数据库运行了2个 .SQL文件,这样,把所有的数据定义和数据库合并到单个数据库实例里去了。</P>
<P><STRONG>第五步:完成</STRONG></P>
<P>至此,我们就可以在主机环境里远程运行我们的应用了,它应该是工作的。</P>
<P><STRONG>总结</STRONG></P>
<P>作为SQL Hosting Toolkit的一部分推出的数据库发布向导应该使得为任何数据库(SQL Express 或者 SQL Server)创建 .SQL 文件非常容易。你可以使用它来轻松地dump你本机的数据库,然后用来在远程系统上重新建立完全一样的数据库。</P>
<P><FONT size=4>【相关文章】</FONT></P>
<UL type=disc>
<LI><A href="http://developer.51cto.com/art/200711/60544.htm" target=_blank><U><FONT color=blue>SQL Server 2008的新压缩特性</FONT></U></A></LI></UL>
<UL type=disc>
<LI><A href="http://database.51cto.com/art/200711/60541.htm" target=_blank><U><FONT color=blue>SQL Server数据库管理常用的SQL和T-SQL语句</FONT></U></A></LI></UL>
<UL type=disc>
<LI><A href="http://database.51cto.com/art/200711/60240.htm" target=_blank><U><FONT color=blue>如何维护SQL Server的交易日志</FONT></U></A></LI></UL><DIV align=right>【责任编辑:<A class=ln href='mailto:sunsj@51cto.com'>火凤凰</A> TEL:(010)68476606】</DIV></td>      </tr>      <tr>        <td class="d_font4">&nbsp;</td>      </tr>    </table>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?