当前位置:首页 > 问答 > 正文

plsql怎么连接数据库啊,步骤和方法简单说说

PL/SQL本身并不直接负责“连接”数据库,PL/SQL是Oracle数据库的一种编程语言,它“运行在”数据库内部,我们通常所说的“连接”,其实是指外部的客户端工具或应用程序如何建立一条通道,以便能够发送PL/SQL代码到数据库执行,并接收结果。

这个问题更准确的表述是:“如何使用客户端工具或程序来连接Oracle数据库,并执行PL/SQL代码”,下面分几种常见的场景来说明。

使用SQL*Plus连接(最基础的命令行工具)

SQL*Plus是Oracle数据库自带的一个非常原始但强大的命令行工具,如果你是数据库管理员或者开发者,学习它是最直接的方式。

步骤和方法:

plsql怎么连接数据库啊,步骤和方法简单说说

  1. 确保网络通畅和监听器启动:你的电脑需要能访问到存放Oracle数据库的服务器,数据库服务器上的“监听器”服务必须已经启动,它负责接收外部的连接请求,这部分通常由DBA(数据库管理员)搞定。

  2. 打开命令提示符(Windows)或终端(Linux/Mac)

  3. 输入连接命令:命令的基本格式是: sqlplus 用户名/密码@连接标识符

    plsql怎么连接数据库啊,步骤和方法简单说说

    • 用户名/密码:就是数据库管理员分配给你的账号和密码,常用的测试用户是scott,密码是tiger
    • 连接标识符:这个部分告诉工具数据库在哪里,它可以是以下几种形式:
      • 简易连接标识符:适用于简单网络环境,格式是//主机名:端口号/数据库服务名,数据库在你本机,端口是默认的1521,服务名是orcl,那么可以写:sqlplus scott/tiger@//localhost:1521/orcl
      • TNS连接符:这是更常用、更专业的方式,它依赖于一个叫tnsnames.ora的配置文件,在这个文件里,你可以为一个数据库连接起一个简短的别名(比如ORCL),然后在连接时直接使用这个别名。sqlplus scott/tiger@ORCL,这个文件的位置通常在Oracle软件的安装目录下的network/admin文件夹里。
    • 如果数据库就在本机:你可以省略后面的所有内容,直接输入sqlplus scott/tiger
  4. 连接成功:如果一切正常,你会看到类似以下的提示符,这表示你已经成功连接到数据库,并可以开始输入SQL或PL/SQL命令了: SQL>

  5. 执行PL/SQL:在SQL>提示符下,你就可以编写PL/SQL代码块了,PL/SQL代码块以DECLARE(声明变量部分,可选)或BEGIN(执行部分)开始,以END;结束,最后需要一个(斜杠)来执行。

    BEGIN
      DBMS_OUTPUT.PUT_LINE('Hello, World!');
    END;
    /

    执行后,如果看到“PL/SQL procedure successfully completed”的字样,说明你的PL/SQL块已经成功运行,注意:DBMS_OUTPUT.PUT_LINE的输出默认不会显示,你需要先输入SET SERVEROUTPUT ON来开启输出功能。

    plsql怎么连接数据库啊,步骤和方法简单说说

使用SQL Developer连接(图形化界面工具)

Oracle SQL Developer是Oracle提供的免费图形化界面工具,对初学者更友好。

步骤和方法:

  1. 下载并安装SQL Developer:从Oracle官网下载并解压即可,它基本上是绿色版的。
  2. 启动SQL Developer
  3. 创建新连接
    • 在左侧的“连接”面板中,右键点击“连接”,选择“新建连接”。
    • 会弹出一个对话框,你需要填写以下关键信息:
      • 连接名称:给你这个连接设置一个容易记住的名字,我的测试库”。
      • 用户名:例如scott
      • 密码:例如tiger
      • 连接类型:一般选择“基本”即可。
      • 主机名:数据库服务器的IP地址或主机名,如果是本机,填localhost0.0.1
      • 端口:通常是1521
      • 服务名:数据库的全局数据库名或服务名,例如orcl
    • 你也可以选择“TNS连接类型”,然后直接从下拉列表中选择你本地已经配置好的TNS别名(来自tnsnames.ora文件)。
  4. 测试连接:填写完信息后,点击左下角的“测试”按钮,如果状态显示为“成功”,说明配置正确。
  5. 连接:点击“连接”按钮,你就可以在左侧看到数据库的各种对象(表、视图、过程等)。
  6. 执行PL/SQL:点击菜单栏的“工作表”图标,打开一个新的SQL工作表,在编辑区输入你的PL/SQL代码,然后点击绿色的“运行脚本”按钮(或者按F5),代码就会被执行,结果会在下方的“脚本输出”或“DBMS输出”面板中显示,同样,你需要确保“DBMS输出”面板是打开的(点击View菜单 -> DBMS Output)。

在应用程序中连接(例如Java, Python, C#)

在编程语言中连接Oracle数据库来执行PL/SQL,本质上是使用该语言的数据库驱动(如JDBC, ODBC)来建立连接。

以Java为例的简要步骤:

  1. 引入驱动jar包:在你的Java项目中,需要添加Oracle的JDBC驱动jar包(如ojdbc8.jar)。
  2. 加载驱动Class.forName("oracle.jdbc.driver.OracleDriver");
  3. 获取连接:使用DriverManager.getConnection方法建立连接,需要传入一个连接字符串,这个字符串的格式和SQL*Plus的简易连接标识符很像: String url = "jdbc:oracle:thin:@//localhost:1521/orcl"; Connection conn = DriverManager.getConnection(url, "scott", "tiger");
  4. 创建CallableStatement执行PL/SQL:对于PL/SQL块或存储过程,通常使用CallableStatement
    String plsql = "BEGIN my_procedure(?); END;";
    CallableStatement cs = conn.prepareCall(plsql);
    cs.setString(1, "输入参数"); // 设置参数
    cs.execute(); // 执行
  5. 关闭资源:最后记得关闭CallableStatementConnection

总结一下

PL/SQL是数据库内部的“母语”,我们通过各种“翻译官”(客户端工具)或“信使”(应用程序驱动)把写好的PL/SQL代码“送进”数据库去执行,核心的连接信息万变不离其宗,就是用户名、密码、数据库的位置(主机、端口、服务名),掌握了这个原理,无论使用哪种工具,你都能很快上手。