亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 5993 | 回復(fù): 1
打印 上一主題 下一主題

MySQL中文參考手冊(cè)---16 MySQL對(duì)ODBC的支持 [復(fù)制鏈接]

論壇徽章:
1
15-16賽季CBA聯(lián)賽之北控
日期:2022-03-04 22:35:50
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-05-14 23:28 |只看該作者 |倒序?yàn)g覽

來(lái)源:
網(wǎng)海拾貝

MySQL利用MyODBC程序?yàn)镺DBC提供支持。
16.1 MyODBC支持的操作系統(tǒng)
MyODBC是在Windows95和Windows NT上的一個(gè)32位ODBC(2.50) level 0驅(qū)動(dòng)程序。我們希望誰(shuí)能將它移植到Windows 3.x。
16.2 怎樣報(bào)告MyODBC的問(wèn)題
MyODBC已經(jīng)用Acess、Admndemo.exe、C++ Builder、Centura Team Developer(早先是Gupta SQL/Windows)、ColdFusion(在Solaris和用Server Pack 5的NT上)、Crystal Reports、DataJunction、Notes 4.5/4.6、SBSS、Perl DBD-ODBC、Paradox、Powerbuilder、Powerdesigner 32位、VC++和Visual Basic。
如果你聽(tīng)說(shuō)有任何其他的應(yīng)用程序用MyODBC一起工作,請(qǐng)把它寄到
myodbc@lists.mysql.com
!
16.3 已知可用MyODBC工作的程序
大多數(shù)程序應(yīng)該可用MyODBC工作,但對(duì)下面列出的每一個(gè),我們自己測(cè)試了它或從它運(yùn)行的一些
用戶
得到了證實(shí):
程序
說(shuō)明
Access
為使Access工作:

  • 你應(yīng)該在桌中有主鍵。
  • 你應(yīng)該在所有你想要能被修改的表中有一個(gè)時(shí)間戳記。
  • 僅使用雙精度浮點(diǎn)數(shù)的字段。當(dāng)用單精度浮點(diǎn)數(shù)進(jìn)行比較時(shí),Access失敗。
  • 當(dāng)與MySQL連接時(shí),設(shè)置“Return matching rows”(返回匹配的行)選項(xiàng)域。
  • 在NT上的Access將報(bào)告BLOB列為OLE OBJECTS。如果你想要有MEMO列,你應(yīng)該用ALTER TABLE把列改成TEXT。
  • Access不能總是正確地處理DATE列。如果你對(duì)此有一個(gè)問(wèn)題,把列改為DATETIME。
  • 在一些情況下,Access可以產(chǎn)生不合法的SQL查詢,而MySQL不能理解。你可以通過(guò)從Access菜單"Query|SQLSpecific|Pass-Through"來(lái)修正它。

DataJunction
你必須改變它來(lái)輸出VARCHAR而非ENUM,因?yàn)樗阅芤?strong>MySQL困惑的方式導(dǎo)出后者。
Execl
工作。一些建議:

  • 如果你對(duì)日期有問(wèn)題,試著使用CONCAT()函數(shù)作為字符串選擇他們。例如:select CONCAT(rise_time), CONCAT(set_time)
        from sunrise_sunset;
    這種方式作為字符串檢索出的值應(yīng)該被Excel97識(shí)別為時(shí)間值,例子中CONCAT()的目的是欺騙ODBC認(rèn)為列是“字符串類型”。沒(méi)有CONCAT(),ODBC知道列是時(shí)間類型,而Excel不理解它。注意這是Excel的一個(gè)錯(cuò)誤,因?yàn)樗詣?dòng)將一個(gè)字符串
    轉(zhuǎn)換
    為一個(gè)時(shí)間。如果數(shù)據(jù)源是一個(gè)文本文件,這問(wèn)題將很大,但是當(dāng)數(shù)據(jù)源是對(duì)每列報(bào)告準(zhǔn)確類型的一個(gè)ODBC連接時(shí),只是有點(diǎn)傻。

odbcadmin
為ODBC的測(cè)試程序。
Delphi
你必須使用DBE 3.2或更新。當(dāng)與MySQL連接時(shí),設(shè)置“Don't optimize column width”(不優(yōu)化列寬度)選項(xiàng)域。另外,有一些潛在有用的delphi代碼安裝一個(gè)ODBC入口和針對(duì)MyODBC的一個(gè)BDE的入口(BDE入口需要一個(gè)BDE Alias Editor,可以到Delphi Super Page上免費(fèi)擁有):(
感謝
Bryan Brunton
bryan@flesherfab.com
)fReg:= TRegistry.Create;
  fReg.OpenKey('SoftwareODBCODBC.INIDocumentsFab', True);
  fReg.WriteString('Database', 'Documents');
  fReg.WriteString('Description', ' ');
  fReg.WriteString('Driver', 'C:WINNTSystem32myodbc.dll');
  fReg.WriteString('Flag', '1');
  fReg.WriteString('Password', '');
  fReg.WriteString('Port', ' ');
  fReg.WriteString('Server', 'xmark');
  fReg.WriteString('User', 'winuser');
  fReg.OpenKey('SoftwareODBCODBC.INIODBC Data Sources', True);
  fReg.WriteString('DocumentsFab', 'MySQL');
  fReg.CloseKey;
  fReg.Free;
  Memo1.Lines.Add('DATABASE NAME=');
  Memo1.Lines.Add('USER NAME=');
  Memo1.Lines.Add('ODBC DSN=DocumentsFab');
  Memo1.Lines.Add('OPEN MODE=READ/WRITE');
  Memo1.Lines.Add('BATCH COUNT=200');
  Memo1.Lines.Add('LANGDRIVER=');
  Memo1.Lines.Add('MAX ROWS=-1');
  Memo1.Lines.Add('SCHEMA CACHE DIR=');
  Memo1.Lines.Add('SCHEMA CACHE SIZE=8');
  Memo1.Lines.Add('SCHEMA CACHE TIME=-1');
  Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
  Memo1.Lines.Add('SQLQRYMODE=');
  Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE');
  Memo1.Lines.Add('ENABLE BCD=FALSE');
  Memo1.Lines.Add('ROWSET SIZE=20');
  Memo1.Lines.Add('BLOBS TO CACHE=64');
  Memo1.Lines.Add('BLOB SIZE=32');
  AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
C++Builder
用BDE 3.0測(cè)試過(guò)。唯一知道的問(wèn)題是,當(dāng)表框架改變時(shí),差詢字段不被更新。然而B(niǎo)DE似乎認(rèn)不出主鍵,只是索引PRIMARY,盡管這已經(jīng)不是個(gè)問(wèn)題。
Visual Basic
為了能更新一張表,你必須為表定義一個(gè)主鍵。
16.4 怎樣填寫ODBC管理程序的各種域
在Windows95上,有3種可能性來(lái)指定服務(wù)器名:

  • 使用服務(wù)器的IP地址。
  • 增加一個(gè)文件“l(fā)mhosts”,具有下列
    信息
    :ip hostname
    例如:
    194.216.84.21 my
  • 設(shè)置PC以使用DNS。

怎么填寫“ODBC設(shè)置”的例子:
Windows DSN name:   test
Description:        This is my test database
MySql Database:     test
Server:             194.216.84.21
User:               monty
Password:           my_password
Port:
對(duì)Windows DSN name域的值是在你的Windows ODBC設(shè)置中唯一的任何名字。
你不必為在ODBC設(shè)置屏的Server, User, Password或Port域指定值。然而如果你這樣做,當(dāng)你試圖做一個(gè)連接時(shí),這些值將在以后作為缺省值使用,那時(shí)你有改變值的選擇。
如果沒(méi)給出端口號(hào),使用缺省端口(3306)。
如果你指定選項(xiàng)Read options from C:my.cnf,組client和odbc將從“C:my.cnf”文件中讀出。你可以使用可用于mysql_options()的所有選項(xiàng)。見(jiàn)
20.4.37 mysql_options()
。
16.5 怎樣在ODBC中獲得一個(gè)AUTO_INCREMENT列的值
一個(gè)常見(jiàn)的問(wèn)題是怎樣得到一個(gè)自動(dòng)從一個(gè)INSERT產(chǎn)生的ID值,用ODBC,你可以這樣做(假定auto是一個(gè)AUTO_INCREMENT字段):
INSERT INTO foo (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();
或,如果你是只是想把ID插入到另外一個(gè)表中,你可以這樣做:
INSERT INTO foo (auto,text) VALUES(NULL,'text');
INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');
得益于一些ODBC應(yīng)用程序(至少Delphi和Access),下列查詢可被用來(lái)找出最新插入的行:
SELECT * FROM tbl_name WHERE auto IS NULL;
16.6 報(bào)告MyODBC的問(wèn)題
如果你碰到MyODBC困難,你應(yīng)該通過(guò)ODBC
管理
器制作一個(gè)日志文件(當(dāng)從ODBCADMIN要求日志時(shí),你獲得的日志文件)和一個(gè)MyODBC日志文件來(lái)開(kāi)始。為了獲得一個(gè)MyODBC日志文件,在MyODBC連接/配置屏幕上標(biāo)注“Trace MyODBC”選項(xiàng)
標(biāo)志
。日志文件將被寫入文件“C:myodbc.log”。注意為了此選項(xiàng)起作用,你必須使用MYSQL.DLL而不是MYSQL2.DLL!
檢查MyODBC發(fā)給MySQL服務(wù)器的查詢;你應(yīng)該可以通過(guò)在“myodbc.log”文件中尋找字符串>mysql_real_query找到它。
你也應(yīng)該試著在mysql監(jiān)視器或admndemo中重復(fù)查詢以找出是MyODBC出錯(cuò)還是MySQL出錯(cuò)。
如果你發(fā)現(xiàn)某些東西是錯(cuò)的,請(qǐng)值將相關(guān)的行(最大40排)發(fā)到
myodbc@lists.mysql.com
。請(qǐng)決不要發(fā)送整個(gè)MyODBC或ODBC日志文件!
如果你不能找出是什么錯(cuò)誤,最后的選擇制作一個(gè)檔案(tar或zip),包含一個(gè)MyODBC日志文件,ODBC日志文件和一個(gè)解釋這個(gè)問(wèn)題的 README文件。你可以把這發(fā)到
ftp://www.mysql.com/pub/mysql/secret
。至于在TCX的我們能訪問(wèn)你上載的文件并且我們將分離數(shù)據(jù)!
如果你能創(chuàng)造一個(gè)也顯示出這個(gè)問(wèn)題的程序,請(qǐng)也上載它!
如果程序與一些其他SQL服務(wù)器一起工作,你應(yīng)該制作一個(gè) ODBC 日志文件,在哪兒你在其他SQL服務(wù)器做完全一樣的事情。
記住,你能提供我們?cè)蕉嗟男畔,我們(cè)娇赡芙鉀Q這個(gè)問(wèn)題!


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/31/showart_688451.html

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-12-02 20:28 |只看該作者
你好,我用ODBC連mysql.其他都是正常的
數(shù)據(jù)庫(kù)中有一個(gè)存儲(chǔ)過(guò)程,并且有輸出參數(shù)。
現(xiàn)在我用call test(?, ?, ?);其中第三個(gè)是輸出參數(shù)。
SQLBindParameter綁定變量了。可是在執(zhí)行時(shí)卻有一個(gè)錯(cuò)誤。就是的
“out or inout argument 5 for test  routine is not a varibale or new peseudeo-variable in BEEFORE trigger”
請(qǐng)問(wèn)怎么辦呢?謝謝。。。。已經(jīng)消耗我好多天了,再搞不定,就要被批評(píng)了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP