php鏈結達夢資料庫操作示例

2021-10-08 17:21:51 字數 3481 閱讀 3691

安裝完成後在 d:/dmdbms/bin 目錄下有 php4_dm.dll 和 php5_dm.dll 2個檔案,分別用於提供達夢資料庫與 php4.0 和 php5.0 的擴充套件介面。

在 php.ini 檔案中另需新增 dm 的配置:

[dm]

dm.allow_persistent = 1

dm.max_persistent = -1

dm.max_links = -1

dm.default_host = localhost

dm.default_db = system

dm.default_user = sysdba

dm.default_pw = sysdba

dm.connect_timeout = 10

dm.defaultlrl = 4096

dm.defaultbinmode = 1

dm.check_persistent = on

dm.port = 12345

create table "table1" at "bookshop"

("nid" integer identity(1, 1),

"sname" varchar(50),

"nage" smallint default 0,

"bgender" boolean,

"ddatetime" timestamp(0),

primary key("nid")) storage( initial 1 , next 1 , minextents 1 , on "primary", fillfactor 0 )

測試**與 mysql **形式非常相似。功能是插入一條記錄,再選擇全部的記錄,並顯示出來:

<?php

$dbhost = 'localhost';

$dbuser = 'sysdba';

$dbpass = 'abcde54321';

$dbname = 'bookshop';

$connect = dm_connect($dbhost, $dbuser, $dbpass);

if($connect)

else

dm_select_db($dbname) or die("select db error.");

$sql = "insert into mytest.table1 (sname, nage, bgender) values ('姓名', 80, true)";

dm_query($sql);

if (dm_affected_rows()>0)

echo "insert ok.";

else

echo "insert failed.";

$sql = "select * from mytest.table1";

$result = dm_query($sql);

echo "

";while($row=dm_fetch_assoc($result))

/* 釋放資源 */

dm_free_result($result);

/* 斷開連線 */

dm_close($connect);

在 windows 下,達夢資料庫管理介面操作還是很順手,比第一次接觸 oracle 時上手要快。與 mysql 相比,多了個「模式(schema)」的概念,但很快了解其意義後,把它理解為表的字首,則完全不影響編碼使用。

達夢資料庫客戶端管理程式的gui操作介面好像功能還不算強大,有些細節的、貼心的操作不支援,比如不能在2個資料庫之間拖動複製/移動表。

對於php程式設計師來說,操作達夢資料庫和操作mysql資料庫非常相似,操作函式差不多是把「mysql」換成了「dm」 ,其它基本沒有變動。php程式設計師可以很快上手針對達夢資料庫程式設計。

就是不知道通過php語言能不能對達夢的事務、鎖、儲存過程等高階特性進行操作。希望針對程式設計師的技術文件再詳細一些。沒有程式設計師的支援,資料庫功能再強大也沒人知曉。

附錄:dm 提供的 php 擴充套件函式,簡要說明每個函式的功能:

dm_connect: 開啟乙個到 dm 伺服器的連線

dm_pconnect: 開啟乙個到 dm 伺服器的持久連線

dm_close: 關閉 dm 連線

dm_set_connect: 設定連線

dm_error: 返回上乙個 dm 操作產生的文字錯誤資訊

dm_errno: 返回上乙個 dm 操作中的錯誤資訊的數字編碼

dm_query: 傳送一條 dm 查詢

dm_unbuffered_query: 向 dm 傳送一條 sql 查詢,並不獲取和快取結果的行

dm_more_query_no_result:

dm_db_query: 傳送一條 dm 查詢

dm_affected_rows: 取得前一次 dm 操作所影響的記錄行數

dm_create_db: 新建乙個 dm 資料庫

dm_drop_db: 丟棄(刪除)乙個 dm 資料庫

dm_escape_string: 轉義乙個字串用於dm_query

dm_fetch_array: 從結果集中取得一行作為關聯陣列,或數字陣列,或二者兼有

dm_fetch_assoc: 從結果集中取得一行作為關聯陣列

dm_fetch_field: 從結果集中取得列資訊並作為物件返回

dm_num_fields: 取得結果集中欄位的數目

dm_fetch_lengths: 取得結果集中每個輸出的長度

dm_fetch_object: 從結果集中取得一行作為物件

dm_fetch_row: 從結果集中取得一行作為列舉陣列

dm_field_flags: 從結果中取得和指定字段關聯的標誌

dm_field_len: 返回指定欄位的長度

dm_field_name: 取得結果中指定欄位的欄位名

dm_field_seek: 將結果集中的指標設定為制定的字段偏移量

dm_field_table: 取得指定字段所在的表名

dm_field_type: 取得結果集中指定欄位的型別

dm_free_result: 釋放結果記憶體

dm_get_server_info: 取得 dm 伺服器資訊

dm_list_dbs: 列出 dm 伺服器中所有的資料庫

dm_list_fields: 列出 dm 結果中的字段

dm_list_tables: 列出 dm 資料庫中的表

dm_num_rows: 取得結果集中行的數目

dm_ping: ping 乙個伺服器連線,如果沒有連線則重新連線

dm_result: 取得結果資料

dm_insert_id: 取得上一步 insert 操作產生的 id

dm_insert_id_ex: 取得上一步 insert 操作產生的 id

dm_select_db: 選擇 dm 資料庫

dm_tablename: 取得表名

dm_data_seek: 移動內部結果的指標

dm_db_name: 取得結果資料

PHP 操作達夢資料庫測試

雖然說明裡說 for windows2000,但在 windows server 2003 下,雙擊 setup.exe,順利安裝。安裝完成後在 d dmdbms bin 目錄下有 php4 dm.dll 和 php5 dm.dll 2個檔案,分別用於提供達夢資料庫與 php4.0 和 php5.0...

達夢資料庫操作

1.安裝 dminstall.bin i接下來是一些設定,比如 語言 key檔案的位置 時區 安裝型別 安裝目錄 略過 2.初始化 進入你剛才設定的安裝目錄的bin目錄下執行 dminit這是我自己的設定 input system dir home dmdba dmdata input db nam...

達夢資料庫簡單操作

達夢安裝連線 登入後我們建立表空間,建立使用者並指定使用者的預設表空間,給使用者分配許可權,建立表,插入資料等操作 我們以sysdba登入後建立使用者 新建表空間 dmtest 並指定資料檔案和大小 大小m 預設dmtest.dbf在data目錄下 home dmdba data dameng dm...