如何使用PLSQL连接服务器上的数据库,开发初学者都需要会这个问题。下面说一下步骤,帮助大家配置host并成功查询数据。
1、首先鼠标右键PLSQL,选择属性,打开PLSQL所在文件夹位置。
2、在文件夹中,找到instantclient文件夹。这里将该文件移出到PLSQL安装文件外,方便之后修改。
3、然后在instantclient下,找到tnsnames.ora,用编辑器打开。
4、在tnsnames.ora中,可以配置数据库连接。数据库名称、协议类型、host、port、sid。配置好之后,保存。
5、打开PLSQL,输入username、password,选择到配置的数据库,进行连接。点击“file”--“new”--“SQL Window”,打开窗口,输入查询命令,F8执行,连接成功了。
PLSQL连接Oracle数据库配置方法一:
1)点击Net Configuration Assistant
2) 在d出的对话框中选择本地Net服务名配置,点下一步
3) 在服务名配置对话框中选择添加,点下一步
4)在如下对话框中填写要访问的oralce数据库的服务名,该服务名可以通过oralce登录用户名进入环境,在.cshrc中,环境变量ORACLE_SID对应的值便是这个服务名,也可以在oracle用户环境下执行grep | env ORACLE_SID查找。
点击下一步
5)选择TCP协议,点下一步
6)主机名中填写要访问的oracle数据库服务器,使用标准端口号1521,点下一步
7)选中“是,进行测试”,点下一步
8) 点更改登录,填写要访问的数据库用户名和密码,确保其正确。此处主要是验证前面配置是否正确,如正确这里的测试就可以成功。
如果不正确请检查服务名、ip地址、用户名、密码中是否有写错,并改之,就可以成功了。
测试成功后点下一步
9)在下图中填写网络服务名,此处的网络服务名可以随意取名,点下一步,后面配置数据源的时候用的就是这个网络服务名
方法一用起来有点小复杂,不过可以了解数据库的配置步骤,方法二相对来说简单很多
找到本机oracle数据库安装的如下路径,如:
F:\app\Administrator\product\11.1.0\client_1\network\admin,在该路径下有个文件tnsnames.ora,打开文件会发现里面有很多连接配置,直接拷贝一个修改如下红色字
SYSDB_102 = //对应的就是上面方法一提到的网络服务名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.41.24.102)(PORT = 1521)) //访问数据库的ip
)
(CONNECT_DATA =
(SERVICE_NAME = sysdb) //数据库服务名
)
)
当配置好后,就可以用PLSQL访问数据库了
1、采用insert into values 语句插入一条,写很多条语句即可多条数据,这种主要针对于离散值以及一些基础信息的录入,如:insert into test(xh,mc) values('123','测试')如果插入的数据有规律,可利用for、loop循环插入,主要用于批量生成测试数据
begin
for i in 1 .. 100 loop
insert into test(xh,mc) values(i||'','测试')
end loop
end 。
2、采用insert into selct from 语句来一次性插入一个集合,这种主要依据于要插入的数据源已经存储于数据库对象中,或者利用dual虚表来构造数据,经过加工后写入一个集合。
insert into test (xh,mx) select '123','测试' from dual
3、采用plsql等工具、或者oracle的imp、impdp命令来导入,这种主要用数据库与数据库之间的大批量数据导入,导入的数据格式为plsql的pde、oracle的dmp等。dmp文件可使用
table_exists_action参数控制导入动作:replace替换原表,truncate清除原表数据再导入,append增量导入数据,当然impdp数据泵的导入要依赖于directory路径。
impdp 用户名/密码 dumpfile=123.dmp logfile=123.log directory=imp_dir tables=test table_exists_action=append
4、使用excel文件直接拷贝。这种主要用于要写入的数据已是excel文件或者行列分明的其它格式文件,每一列的值和表结构相对应,可直接打开表的行级锁,把数据拷贝进入。
打开行级锁方法:
select t.*,rowid from 表名 t where 1=2
select * from 表名 where 1=2 for update
直接把excel数据拷贝到表里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)