OBE 主页 > 10gR2 单实例 > 应用程序开发

开发和部署 .NET 存储过程

本教程描述如何使用 Oracle Developer Tools For Visual Studio .NET 部署 .NET 存储函数。

大约 30 分钟

本教程包括下列主题:

将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。 (警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。

利用 Windows 上的 Oracle 数据库 10g 第 2 版,Oracle 现在可以提供 Oracle Database Extensions for .NET。利用该数据库选项可以将用 .NET 管理的语言编写的存储过程和函数部署到 Windows 上的 Oracle 数据库。

开始本教程之前,您应该:

1.

完成了教程在 Windows 上安装 Oracle 数据库 10g

2.

完成了教程安装 Oracle Developer Tools for Visual Studio .NET

3.

完成了教程配置 .NET 存储过程环境

开始创建应用程序之前,您应打开 Visual Studio 并检查界面。执行以下步骤:

1.

选择 开始 > 程序 > Microsoft Visual Studio .NET > Microsoft Visual Studio .NET

 

2.

选择 View > Oracle Explorer

 

3.

单击 + 图标添加连接。

 

4.

输入数据源名称。为 User name 和 Password 输入 hr,然后单击 Save password 并单击 Test connection

 

5.

测试连接成功。单击 OK

 

6.

单击 OK

 

7.

连接已创建。展开 hr.ORCL。现在,您可以创建存储函数了。

 

在本主题中,您将创建一个 Oracle 项目以存储数据库中的函数。执以下步骤:

1.

Start 选项卡中,单击 New Project...

 

2.

选择项目类型 Visual C# Projects,选择模板 Oracle Project,输入名称 Project1,然后输入存储文件的目录(注意:如果该目录不存在,将创建该目录)。然后单击 OK

 

3.

将下列文本复制并粘贴到类对象中。

 public static int getDepartmentno(int employee_id)
 {
 int department_id = 0;
 // Get a connection to the db
 OracleConnection con = new OracleConnection();
   con.ConnectionString = "context connection=true";
   con.Open();
 // Create and execute a command
 OracleCommand cmd = con.CreateCommand();
   cmd.CommandText = "select department_id from employees where employee_id = :1";
   cmd.Parameters.Add(":1", OracleDbType.Int32, employee_id,
   ParameterDirection.Input);
   OracleDataReader rdr = cmd.ExecuteReader();
   while(rdr.Read())
   department_id=rdr.GetInt32(0);
   rdr.Close();
   cmd.Dispose();
 // Return the employee's department number
 return department_id;

 

4.

右键单击 Class1.cs 选项卡并选择 Save

 

返回主题列表

在本主题中,您将一个 .NET 存储函数部署到数据库中。执行以下步骤:

1.

选择 Build > Deploy Solution

 

2.

将显示 Oracle Deployment Wizard for .NET。单击 Next

 

3.

您需要建立与 SYSDBA 凭证的连接。单击 New Connection

 

4.

选择 ORCL 作为 Source Database,为 Username 输入 sys,为 Password 输入 <syspassword>。单击 Save password,单击 Test Connection

 

5.

连接成功。单击 OK

 

6.

单击 OK 保存连接。

 

7.

单击 Next

 

8.

确定选中 Copy assembly and generate stored procedures,然后单击 Next

 

9.

接受默认选项,然后单击 Next

 

10.

接受默认选项,然后单击 Next

 

11.

展开 Project1 > Class1,选中 Int32 getDepartmentno 旁边的复选框。然后,选择该模式旁边的向下箭头。

 

12.

从模式列表中选择 HR,单击 Next

 

13.

在 Summary 窗口中,单击 Finish

 

14.

您的 .NET 存储过程已成功部署。单击 OK

 

返回主题列表

在本主题中,您将执行刚刚部署的 .NET 存储函数。在这种情况下,该函数将检索给定的员工 ID 的部门编号。执行以下步骤:

1.

展开 HR.ORCL > Functions。右键单击 GETDEPARTMENTNO,选择 Run

 

2.

输入值 100(或者其他有效的员工 ID),按 Enter 键。

注意:如果收到错误信息,确保 OracleOraDb10g_home1ClrAgent 已启动。然后,再试一次。

 

3.

员工 100 的部门 ID 90 已选择。

 

返回主题列表

在本教程中,您学习了如何创建、部署和运行 .NET 存储函数。

返回主题列表

将鼠标移到该图标上可以隐藏所有屏幕截图。