国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Windows上的MySQL UDF開發(fā)

2024-07-24 12:54:49
字體:
來源:轉載
供稿:網友

曾以為windows版本的mysql存在不能使用udf的bug諸提交了一個bug報告。不過
似乎發(fā)現是我搞錯了,mysql的技術支持人員給了非常完美的解答,同大家分享
一下。下邊是原文回復 :)

sorry this isn't a bug.
below i pasted a sample i did sometime ago for another user:

ok. assuming you have vc++ and the source distribution and a server
running,
i will create a udf that returns a name:

note: the sample is ugly, but the purpose here is to show you how
to handle the udf.

- open the mysqld.dsw workspace.
- add new project to the workspace
- project name: my_udf
- select win32 dynamic-link library
- click ok
- select an empty dll project
- click finish
- click ok
- add a new file called my_udf.cpp to the project:

#include <stdlib.h>
#include <winsock.h>
#include <mysql.h>

extern "c" {
char *my_name(udf_init *initid, udf_args *args, char *is_null,
       char *error);
}

char *my_name(udf_init *initid, udf_args *args, char *is_null,
       char *error)
{
    char * me = "my name";

    return me;
}

- type ctrl+n for to create a new file.
- select text type
- file name: my_udf.def
- edit the above file with the below contents:
library         udf_example
description             'example using udf with vc++'
version         1.0
exports
        my_name

- right click the my_udf project and select settings
- click the c/c++ tab
- select general in the category combo
- add the macro have_dlopen to the preprocessor definition
- select preprocessor in the category combo
- add the include path to the text box: additional include directories
  e.g: ../include
- press f7 for to build the dll.

- copy the my_udf.dll to the environment path directory:
  /winnt ystem32 for example.

- start the mysql client and issue:

c:/mysql-udf/bin>mysql -uroot -p
enter password:
welcome to the mysql monitor.  commands end with ; or /g.
your mysql connection id is 2 to server version: 3.23.52-max-nt

type 'help;' or '/h' for help. type '/c' to clear the buffer.

mysql> create function my_name returns string soname "my_udf.dll";
query ok, 0 rows affected (0.08 sec)

mysql> select my_name();

mysql> drop function my_name;
query ok, 0 rows affected (0.00 sec)

畫蛇添足的作下簡要中文說明。

抱歉,這并不是一個bug。下面我粘貼一個以前為某個客戶做的簡例,假設你有了
vc++,源碼分發(fā),并且有一個正常運行的mysql服務器。

我將創(chuàng)建一個udf它將一個名字:
注意:例子非常簡陋,目的是讓你了解該如何處理手頭的udf。

- 打開 mysqld.dsw 工作區(qū)。
- 添加新項目到這個工作區(qū)
- project name: my_udf            // 項目名稱:my_udf
- 選擇 win32 dynamic-link library // win32動態(tài)連接庫
- 點擊 ok
- 選擇 an empty dll project       // 一個空dll項目
- 點擊 finish
- 點擊 ok
- 添加新文件 my_udf.cpp 到項目中:
#include <stdlib.h>
#include <winsock.h>
#include <mysql.h>

extern "c" {
char *my_name(udf_init *initid, udf_args *args, char *is_null,
       char *error);
// 兼容c
}

char *my_name(udf_init *initid, udf_args *args, char *is_null,
       char *error)
{
    char * me = "my name";

    return me;
    // 調用此udf將返回 my name
}
- 按 ctrl+n 來創(chuàng)建一個新文件。
- 選擇 text 類型
- file name: my_udf.def file://文件名:my_udf.def
- 按照下邊的內容編輯文件。
library         udf_example
description             'example using udf with vc++'
version         1.0
exports
        my_name

- 右擊my_udf項目并選擇settings
- 點 c/c++ 選項卡
- 選擇 general
- 添加宏 have_dlope 到預處理器定義
- 選擇 preprocessor
- 添加頭文件路徑: additional include directories
  例如: ../include
- 按 f7 去編譯成 dll.

- 復制 my_udf.dll 到環(huán)境變量path定義過的目錄
  比如 /winnt ystem32 。

- 打開mysql客戶端

c:/mysql-udf/bin>mysql -uroot -p
enter password:
welcome to the mysql monitor.  commands end with ; or /g.
your mysql connection id is 2 to server version: 3.23.52-max-nt

type 'help;' or '/h' for help. type '/c' to clear the buffer.

mysql> create function my_name returns string soname "my_udf.dll";
query ok, 0 rows affected (0.08 sec)

mysql> select my_name();

mysql> drop function my_name;
query ok, 0 rows affected (0.00 sec)


ok!歡迎大家來mysql板交流udf設計經驗!我的電子郵件是[email protected],
手機13706410308。同時,我們mysql板準備開始系統(tǒng)化持續(xù)性翻譯mysql文檔,
希望大家多多支持共同完成這一項目。

hearticy
2003年5月17日于中國濟南
  • 本文來源于網頁設計愛好者web開發(fā)社區(qū)http://www.html.org.cn收集整理,歡迎訪問。
  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 信阳市| 兰州市| 南和县| 张掖市| 高青县| 濮阳县| 桓仁| 泾阳县| 米泉市| 滦南县| 和平区| 左权县| 理塘县| 竹山县| 襄汾县| 揭阳市| 萍乡市| 古浪县| 余姚市| 宾川县| 江都市| 永丰县| 泽库县| 黔南| 宜黄县| 罗平县| 观塘区| 威信县| 松滋市| 东源县| 嘉善县| 门头沟区| 西乡县| 綦江县| 阳谷县| 巴林右旗| 许昌县| 修文县| 友谊县| 富阳市| 博爱县|