DataWindowHTTP(二)数据库安装

这个文档并非必要文档。对于熟悉安装的朋友,这个文档不是必须的。

我仅仅熟悉MSSQL的安装,也只使用过SQL2000,2005,2008。所以在测试时,查阅了一些资料并做了笔记。考虑到大家也可能尝试不熟悉的数据库,比如mysql,postgresql,或许可以作为参考。过去PB的黄金搭档就是MSSQL和ORACLE。现在随着版权的增强和成本的考虑,某些项目完全可以使用开源数据库。就我们许多的中小项目而言,数据量和并发要求很低,其实是足够。唯一缺乏的就是熟悉程度,个人感受呢,开源数据库使用起来会遇到很多问题,需要多实践多积累,物尽所用,最后会得心应手。

目录:

MSSQL 

ORACLE 

MYSQL 

POSTGRESQL

一.MSSQL

  1. MSSQL2000安装

我们一般使用4in1安装盘,根据需要选择企业版,个人版还是开发版。

sql2000虽然在高版本PB不再推荐,但是通过这个组件可以很好支持。因为微软驱的驱动仍然能支持2000。因为简单实用,资源耗用少,管理员熟悉而还有大量使用。

  1. 设置兼容性:ENTERPRISE\X86\SETUP\SETUPSQL.EXE右键属性设置兼容性。
  2. 出现 以前某个程序...挂起的文件操作 错误时:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations项目删除即可

  1. 其他SQL2005-2017

同一台电脑安装多个版本的SQL时,使用不同的实例名加以区分。服务器名为 :

IP\\实例名 或者 电脑名\\实例名

  1. 为了安全,建议修改默认端口

2000通过“服务器网络实用工具”进行修改

2005以上,通过SQL Server Configuration Manageer\网络配置\协议\TCP/IP\属性 进行配置

  1. 如果webserver和数据库不在同一台电脑,请启用SQL的远程访问

2005在 SQL Server外围应用配置器\服务和连接的外围配置器\远程连接

而且某些版本需要加装补丁才支持远程连接。比如sql2005需要sp3以上。

  1. 跨主机使用

实际使用中,请让webserver和数据库置于同一台服务器或者同一个内网。减少不必要的延时。

通过不同机房或者不同外网进行访问虽然可以,但是速度上面是打折的。根据不同服务商,一般同区域的内网是互通的。

二.ORACLE

Oracle9i

在高版本window上无法安装,比如win2008提示兼容性问题无法安装。

尝试在xp上面安装成功,查资料也可以在win2003安装。

Oracle10g

Windows 2012上面,用安装包10204_vista_w2k8_x64_production_db.zip这个04补丁安装出现权限拒绝。

其他人的经验:Windows 2012 r2 64位系统安装10.2.0.4的数据库64位,总会出现这个报错,要么是dbca的时候,要么就是建完数据库,一重启服务器之后,sqlplus也登陆不了报错。尝试了一下安装了Oracle 10.2.0.5安装包就没在出现这问题,反复试了几次。

用10204_vista_w2k8_x64_production_db.zip安装在win2008上面成功。虽然提示:

Enterprise Manager配置失败,但是可以忽略。因为我不用em。安装是成功的。

Oracle11g安装

关于表名大小写报错的问题。

建立时不要用Navicat的向导,用sql语句直接写。表名和字段不要用引号。这样系统就不区分大小写。

在windows2012 server上安装oracle11g碰到“无法访问临时位置”的问题

针对客户端安装,在cmd中执行命令带上参数进行安装就没问题了:

setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false" 

针对服务端安装,在cmd中执行命令:

setup.exe -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"

在win10系统下安装oracle11g时出现了报错:[INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突。

可能是之前没卸载干净,网上找了很多方式都没有成功解决。其实很简单,找到C盘的program files或者program files(×86)下的oracle里边的inventory文件夹删除即可。

Oracle12c

1. 安装到第一个【下一步】时,很卡(cpu占用率高,对于低配置云主机要耐心等待)。

2. 安装完占用内存比较大,可以调整。如果不想麻烦的可以跳过步骤2.

网上查的修改命令:

alter system set sga_target=8192m scope=spfile;

alter system set sga_max_size=8192m scope=spfile;

注意:sga_target 必须小于或等于 sga_max_size,否则库就启动不了

shutdown immediate;

startup

show parameter sga;

3.新建用户MY1,MY2,MY3

设置成员属于:CONNECT,DBA,RESOURCE

服务器权限:CREATE SESSION,SELECT ANY TABLE,UNLIMITED TABLESPACE

4. 下载for php8.0的oci8的32位dll到php的ext目录。(DataWindowHTTP服务器安装-WEBSERVER.docx中详述)

5. 安装oralce client 12102版本到phpinfo()指定的oci路径(这个很重要!)中。

并且把这个路径设置到系统Path,重启电脑。Phpinfo()看就有oci8信息了。

6.这两个表是临时表。其他版本中仍然需要建立这两个表。

CREATE GLOBAL TEMPORARY TABLE TEMPTALBE_PROC_OUTPUT (

PCID NUMBER,

OUT_CHAR VARCHAR2(4000),

OUT_NUM NUMBER

)ON COMMIT PRESERVE ROWS

CREATE GLOBAL TEMPORARY TABLE TEMPTALBE_PROC_QUERYREC

(

PCID NUMBER,

COL_A VARCHAR2(36),

COL_B NUMBER

)   ON COMMIT PRESERVE ROWS

连接和管理ORACLE

在未安装oracle的电脑上,请安装Oracle Instant Client

下载地址:Oracle Instant Client Downloads
解压缩到c盘: C:\instantclient_11_2

设置系统变量:
Path变量添加这个路径 C:\instantclient_11_2
ORACLE_HOME = C:\instantclient_11_2

TNS_ADMIN = C:\instantclient_11_2

NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

*关于Navicat连接oracle数据库的配置

在Navicat的选项》环境》oci library配置路径为oracle安装路径下面的这个文件:

C:\app\Administrator\product\11.2.0\dbhome_1\BIN\oci.dll    (11.2为例, 其他版本类似)或者

C:\instantclient_11_2\oci.dll

三.MYSQL

适合同时安装Mysql5.7与8.0,也适合只安装一个版本。

1.  https://dev.mysql.com/downloads/  下载

2. 同时安装两个版本,请下载zip版本进行手工配置。

3. 解压缩后请在根目录,而不是bin目录建立my.ini文件。

[mysqld]

#端口号

port=3306   <<改端口

#MySQL解压路径

basedir=C:\\mysql-5.7.29-winx64

#MySQL数据文件路径

datadir=C:\\mysql-5.7.29-winx64\\data

#最大连接数

max_connections=200

#服务器字符集

character-set-server=utf8

#默认表引擎

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]

#客户端字符集

default-character-set=utf8

  1. 管理员身份打开cmd,切换到bin目录

mysqld --initialize-insecure --user=mysql

mysqld --install MYSQL57  <<这是服务名称。多个安装的话,要区分开。

net start MYSQL57 //启动服务

mysql -u root -p  输入密码 //命令端登录

#删除服务

sc delete MYSQL57

#安装时创建空密码

mysqld --initialize-insecure --user=mysql

#改密码

mysqladmin -u root -p password 新密码 回车

enter password: 旧密码

#MySQL 8.0起默认字符集改成了utf8mb4,这造成PHP PDO连接报错

#只需要重新指定默认字符集为utf8即可,

但这并不影响在MySQL里创建utf8mb4字符集的表

character-set-server = utf8

#指定账号认证plugin还使用native模式,否则PHP PDO连接握手时会报错

default_authentication_plugin = mysql_native_password

//mysql_connect无法连接mysql8.0时。提示升级client。

mysql -u root -p

mysql:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';   <<单引号里面是自己的密码。

  • PostgreSQL

如何修改postgresql服务器登陆密码

1、关闭数据库服务

2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust以我的为例,原本设置是

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 md5

修改为

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 trust

4、重新启动postgresql数据库服务

5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

alter user postgres with password 'foobar';
6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务就ok了
host all all 127.0.0.1/32 md5
7、再执行建用户,和建库操作
createuser.exe -s -P foo -U postgres
createdb.exe --encoding=UTF8 --owner=foo --template=template_postgis -Ufoo

参数:

--encoding=UTF8 设置数据库的字符集

--owner=foo 设置数据库的所有者

--tmplate=template_postgis 设置建库的模板,该模板支持空间数据操作

--Ufoo 用foo用户身份建立数据库

测试下载:

http://powerbuilder.ltd/soft/datawindowhttp.rar

PowerBuilder DeCompiler,PowerBuilder Obfuscator,PB DeCompiler,PB Obfuscatoricon-default.png?t=M666http://powerbuilder.ltd/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:像素格子 设计师:CSDN官方博客 返回首页
评论

打赏作者

chengg0769

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值