本教程描述如何使用 Oracle Developer Tools For Visual Studio .NET 部署 .NET 存储函数。
大约 30 分钟
本教程包括下列主题:
| 概述 | ||
| 前提条件 | ||
| 创建 Oracle 连接 | ||
| 创建 .NET 存储函数 | ||
| 部署 .NET 存储函数 | ||
| 运行 .NET 存储函数 | ||
| 总结 | ||
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。
(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图来将其隐藏。
利用 Windows 上的 Oracle 数据库 10g 第 2 版,Oracle 现在可以提供 Oracle Database Extensions for .NET。利用该数据库选项可以将用 .NET 管理的语言编写的存储过程和函数部署到 Windows 上的 Oracle 数据库。
开始本教程之前,您应该:
| 1. | ||
| 2. | ||
| 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 存储函数。