本文目錄一覽:
- 1、請詳細的說一下怎樣用pb連接mysql,好嗎
- 2、pb9.0與Mysql連接是不是要用odbc連接阿
- 3、PB中怎樣連接遠程MySQL資料庫
- 4、PB怎麼連接mysql資料庫
- 5、pb11.5 jdbc怎樣連接資料庫mysql
- 6、PB與MySQL的連接
請詳細的說一下怎樣用pb連接mysql,好嗎
第一步 當然是裝驅動 不過開發環境裝了 就要求客戶機也要裝 可以考慮INSTALLSHILED打包時 把MYSQL驅動環境帶進去 還有一個簡單辦法 EXE所在目錄帶上MYODBC3.DLL 就免驅動安裝過程了 不過註冊ODBC時 需要自己改客戶機註冊表驅動文件所在位置,這個先別考慮了,裝好驅動,OK~
第二步 建庫 下載個Navicat Lite for MySQL 建庫 查詢什麼的 很方便
第三步 建ODBC數據源 和建其他數據源一樣。 只不過是安裝過MYSQL驅動後,有了MYSQL自己的配置界面 如下圖:
需要注意的就是Connect Opentions下的 Initial Statement,剛開始用肯定會遇到亂碼問題,網上百度慢慢研究吧,把這裡加句set names gbk。另外,搜 MY.INI的配置方法。一堆一堆的
第四步 PB連ODBC的數據源 test OK~
下面是我記下來的幾個寫代碼時遇到的問題和解決辦法:
1. 導入數據到MYSQL庫後,中文顯示為亂碼問題,配置ODBC時,在connector options中的 initial statement中添加:set names gbk
2. count函數不能用問題,在ODBC中 advanced選項 flags3 勾選IGNORE SPACE AFTER FUNCTIONS NAMES
3 ODBC連接框自動彈出問題
這樣寫連接語句
SQLCA.DBParm =”ConnectString=’DSN=mis;UID=root;PWD=’,ConnectOption=’SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT’ “
4 導入數據時DATA TOO LONG 問題,MYSQL會自動把定義為VARCHAR(500)長度以上的欄位類型轉成TEXT或者BLOB,非常無聊,導進來的表要自己把類型改回去。
MY.INI 中 屏蔽
#sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
位置
# Set the SQL mode to strict下句
5 連續運行會自動斷開連接。TRANSCATION NOT CONNECTED
1.編輯mysql.ini
在max_connections=100下面加一行
enable-named-pipe
2.編輯config.default.php
把57行
$cfg[‘Servers’][$i][‘host’] = ‘localhost’; // MySQL hostname or IP address
改為
$cfg[‘Servers’][$i][‘host’] = ‘.’; // MySQL hostname or IP address
以前還做了個打開程序時,自動創建MYSQL服務,然後net start mysql,退出程序時net stop mysql,清服務,我這是為了做單機版,你應該用不到,也貼上吧,湊字數
1.安裝後的MYSQL全部文件拷貝到編譯好的系統目錄下,把其中的MY-LARGE.INI複製更名為my.ini,打開my.ini,在[mysqld]結尾中加入下面幾句話:
basedir=D:\zheng\源程序ceshi\mysql1 –這是我的程序所在目錄
datadir=D:\zheng\源程序ceshi\mysql1\data\
default-character-set=gbk
default-storage-engine=innodb
max_allowed_packet =12M
2.建立文本文件,保存為.bat格式,內容為先把客戶機MYSQL服務關掉,再啟動自己的庫,比較壞。。寫入:
net stop mysql
D:\zheng\源程序\mysql1\bin\mysqld –console
這裡的:『D:\zheng\源程序』 這個是程序所在目錄,可以通過GetCurrentDirectory()獲得,也就是客戶存放安裝好的系統的文件目錄,這個要通過程序實時修改,保證「隨地」,mysql1是拷貝過來的mysql庫名字。
3.啟動系統時,做如下修改
(1)打開MY.INI,修改:把步驟1里加入的
basedir=D:\zheng\源程序ceshi\mysql1
datadir=D:\zheng\源程序ceshi\mysql1\data\
改為當前目錄, 用SetProfileString就行了
(2)修改步驟2里.BAT文件中的庫位置,和改文本文件方法一樣,fileread出來然後字元串操作。
(3)建立ODBC數據源,直接把MYODBC3.DLL(裝驅動時在SYSTEM32下生成的系統文件)放到程序文件夾里,然後指定ODBC註冊表驅動項為這個文件。
(4)建立連接,啟動系統。
pb9.0與Mysql連接是不是要用odbc連接阿
你好。pb9.0與Mysql連接 可以的。
但是我PB9.0沒連過,我用的是powerDesigner 9.5.
powerDesigner 9.5可以連接,用MySQL提供的ODBC,可下載。
希望可以幫助到你 望採納哦 謝謝
如果還有問題,可以繼續追問,感謝。
PB中怎樣連接遠程MySQL資料庫
建立資料庫伺服器 ,固定IP 或者 外網可以訪問到的iP地址 通過IP地址就可以訪問連接資料庫!
PB怎麼連接mysql資料庫
1、在powerbuilder軟體界面,點擊上面資料庫圖標。
2、彈出Database Profiles窗口,在此窗口內,雙擊圖中標註ODBC Administrator項。
3、在彈出的ODBC數據源管理器中點擊右側的添加按鈕。
4、在彈出的創建新數據源窗口中,點擊最下方SQL Server Native Client 10.0項。
5、彈出創建到SQL Server的新數據源窗口,輸入任意名稱、描述,伺服器處輸入(local),點擊下一步。
6、在新的界面最上方「更改默認資料庫為」前勾選,下方選擇你的程序想要連接的資料庫。點擊下一步。
7、一直點擊下一步直到如圖界面,到此數據源的添加基本完成,點擊下方測試數據源,提示成功後關閉此界面即可;如果不成功請從頭再次操作,注意每一個小細節。
8、上個步驟關閉窗口後,回到原來的ODBC數據源管理器窗口,可以看到列表上方出現了剛剛創建的數據源,關閉此窗口。
9、回到Database Profiles窗口,如圖,點擊ODB ODBC,然後點擊右側New按鈕。
10、新彈出Database Profile Setup-ODBC窗口,填寫Profile Name,下拉列表選擇對應Data Source項。(如果你的資料庫沒有設置登錄密碼,則下方的user id和password項不需填寫)
11、中間穿插一步,如圖,在這個窗口上方點擊Preview標籤,複製下方的一段代碼,留待後面使用。
12、點擊OK,關閉此窗口。
13、點擊新添加的那一項,如圖,點擊右側Connect按鈕,然後資料庫小圖標會出現一個綠色小勾。到這裡,連接資料庫的所有配置已經完成,只需在程序中添加連接資料庫的代碼就可以了。
14、我在我的一個程序窗口的open事件中添加了剛剛複製的那段代碼,這樣這個窗口在打開時就可以直接連上資料庫了。
pb11.5 jdbc怎樣連接資料庫mysql
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName(“com.mysql.jdbc.Driver”) ;
}catch(ClassNotFoundException e){
System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例註冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = “jdbc:mysql://localhost:3306/test” ;
String username = “root” ;
String password = “root” ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println(“資料庫連接失敗!”);
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall(“{CALL demoSp(? , ?)}”) ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;
int rows = stmt.executeUpdate(“INSERT INTO …”) ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString(“name”) ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
PB與MySQL的連接
你看一下示例代碼
If Len(sle_dlyh.Text) = 0 Then
MessageBox(‘系統提示’,’請輸入用戶名!’)
SetFocus(sle_dlyh)
ElseIf Len(sle_dlkl.Text) = 0 Then
MessageBox(‘系統提示’,’請輸入口令!’)
SetFocus(sle_dlkl)
Else
String password_tmp //查詢用戶及相應的密碼
String name_tmp
name_tmp = Trim(sle_dlyh.Text)
// 檢索用戶密碼
Select Password Into :password_tmp From admin where username = :name_tmp;
// 驗證用戶密碼
If Trim(sle_dlkl.Text) Trim(password_tmp) Then
MessageBox(‘系統提示’,’用戶名或密碼錯誤,請重新輸入!’)
SetFocus(sle_dlyh)
Else
Parent.Visible = False //隱藏登錄窗體,打開主窗體
Open(w_main)
End If
End If
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293811.html