使用 ADO.NET 处理大型二进制对象 (LOB)

更新日期: 2005 年 12 月 5 日

LOB_ADONet 示例以编程方式读取文件中的二进制数据,然后将内容存储到数据库中。 此示例也检索存储在数据库中的二进制数据,然后将内容写入文件中。

默认位置:驱动器:\Program Files\Microsoft SQL Server\90\Samples\Engine\Data Access\ADO\Handling LOB using ADONetScenario

语言

Transact-SQL, ADO.NET

必备组件

在运行此示例之前,请确保安装了下列软件:

  • SQL Server 2005 或 SQL Server 2005 Express Edition。 您可以从此 Microsoft 网站免费获取 SQL Server 2005 Express Edition。
  • AdventureWorks 数据库随 SQL Server 2005 一起提供,也可以通过微软网站获取。
  • SQL Server 2005 数据库引擎示例。 这些示例包含在 SQL Server 2005 中。 您可以从 Microsoft SQL Server 开发人员中心下载这些示例的最新版本。
  • .NET Framework SDK 2.0 或 Microsoft Visual Studio 2005。 您可以免费获取 .NET Framework SDK。 有关详细信息,请参阅安装 .NET Framework SDK

生成示例

如果尚未创建强名称密钥文件,则请使用以下说明生成该密钥文件。

生成强名称密钥文件

  1. 打开 Microsoft Visual Studio 2005 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

    - 或 -

    打开 Microsoft .NET Framework 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

  2. 使用更改目录命令 (CD) 将命令提示符窗口的当前目录更改至安装示例的文件夹。

    ms160754.note(zh-cn,SQL.90).gif注意:
    若要确定示例所在的文件夹,请单击“开始”按钮,依次指向“所有程序”、“Microsoft SQL Server”、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk

    ms160754.note(zh-cn,SQL.90).gif重要事项:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。

若要生成示例,必须执行以下操作:

生成示例

  1. 在 SQL Server Management Studio 中,加载并执行 Scripts\install.sql 脚本,或在命令提示符窗口中执行以下命令:

    sqlcmd -E -I -i Scripts\installCS.sql
    

    此脚本将创建下列存储过程:

    • usp_InsertDocument 存储过程
    • usp_GetDocumentByID 存储过程
  2. 使用 Visual Studio 2005 来生成应用程序,或在命令提示符窗口中键入以下内容:

       msbuild /nologo /verbosity:quiet /property:Configuration=Debug  CS\Handling LOB using ADONet\Handling LOB using ADONet.csproj
    
       msbuild /nologo /verbosity:quiet /property:Configuration=Debug VB\Handling LOB using ADONet\Handling LOB using ADONet.vbproj
    

运行示例

运行示例

  1. 运行 bin\Release\handling_lob_using_adonet.exe(或 bin\Debug\handling_lob_using_adonet.exe)。 也可以提供输入文件名、输出文件名和数据库服务器名称。 输入参数的默认值为:

    • String currentDirectory = Directory.GetCurrentDirectory() + @"\";
    • String inFileName = "testdoc.doc";
    • String outFileName = "docout.doc";
    • String dataSource = "localhost";
  2. 在命令提示符窗口中,键入:

    handling_lob_using_adonet /in:.\DataFiles\testdoc.doc /out:otestdoc.doc
    
    ms160754.note(zh-cn,SQL.90).gif注意:
    默认的当前目录为 .\bin\debug。 如果从 Visual Studio 中运行该示例,则可能需要将 testdoc.doc 移到此目录中。

注释

此示例将 testdoc.doc 输入文件中的数据写入 AdventureWorks 示例数据库中的 Document 表中。 此示例也检索 Document 表中的数据,并将其写入 docout.doc 输出文件中。

ms160754.note(zh-cn,SQL.90).gif注意:
默认情况下,test.doc 输入文件位于 Data Files 文件夹中,docout.doc 输出文件位于 Application Data 文件夹中。

更改历史记录

发布日期 历史记录

2005 年 12 月 5 日

更改的内容:
  • 更改了有关生成密钥文件的说明,包括密钥文件的名称和位置。