使用odbc的若干問題

2021-10-06 13:47:08 字數 2403 閱讀 2577

以sql server 2017為例,連線字串如下,

driver=

;server=servername;database=databasename;uid=usrname;pwd=password

其中,driver=;為odbc驅動,可以通過以下方式檢視,

開始》odbc資料來源管理程式》驅動程式

截至目前為止,總共有三個版本的microsoft odbc driver for sql server,選擇和使用如下,

odbc driver

sql server database version

安裝sql server

<2005

通常情況下系統預設安裝

sql server native client *

2005~2012

單獨安裝或者隨sql server資料庫一起安裝

odbc driver * for sql server

2012~

單獨安裝或者隨sql server資料庫一起安裝

如果driver的版本與資料庫版本不一致很可能會出現各種問題,以以sql server 2017為例,應該選取下邊的版本。

對於資料庫的連線,可以使用兩種介面,對應連線資料庫的兩種方式,

void

connect

(const

char

* connstring)

;void

connect

(const

char

* dsn,

const

char

* user,

const

char

* password)

;

分別對應於sqldriverconnecta和sqlconnecta的呼叫。

第一種呼叫就是使用連線字串(個人一直傾向於使用此種方式),另一種方式使用dsn name,也可以通過odbc 配置軟體進行配置。

連線字串中的server name,可以用ip位址,如果是本機部署的話可以寫127.0.0.1,也可以用(local),也可以用伺服器名。

注意當改變連線埠時,必須指定資料庫服務的監聽埠。

對於sql server來說,原則上能用sql server客戶端連線的servername 都可以寫在這裡用。

odbc全稱開放資料庫庫介面,open database connectivity,是為了連線dbms的標準api,設計初衷就是,對於不同的資料庫甚至作業系統,開發者不做或很少改動就可以繼續使用原有**運算元據庫(包括client和server)。

只要提供相應的驅動,原則上可以使用odbc連線任意dbms,甚至是excel,text,或者csv。

在之前的程式開發中,對於excel作為資料來源的開發確實使用的就是odbc,但是text和csv從來沒這麼做過,似乎也沒什麼必要。

另外,對於本文提到的開源**,寫了乙個簡單的應用(其實沒必要,但是似乎一點兒**也貼總感覺**不對》_

void roverdatabase::

load_from_db()

;server=127.0.0.1;database=hsdb;uid=sa;pwd=xqxq#1234");

conn-

>

setautocommit

(false);

log_info

("connect database success");

odbc::preparedstatementref psselect =

conn-

>

preparestatement

("select id,port from t_usr");

odbc::resultsetref rs = psselect-

>

executequery()

;while

(rs-

>

next()

)}catch

(const odbc::exception e)

}

ftp的使用若干問題

所以綜上所訴,好像pasv方式更容易建立連線,怎麼更改呢?操作方法如圖所示 好像還可以更改防火牆的埠之類的,不是很了解,詳情參見 和 ftp的命令列格式為 ftp v d i n g 主機名 v 顯示遠端伺服器的所有響應資訊。d 使用除錯方式。n 限制ftp的自動登入,即不使用.netrc檔案。g ...

ceph若干問題

ceph health可以檢視ceph集群健康狀況 ceph df 可以檢視儲存的總使用率與各pool的使用率 ceph osd df 可以檢視各osd的使用率 ceph s 或 ceph status 可以檢視集群整體狀態 首先,我們要知道ceph的osd的位址 ceph osd tree可以檢視...

Ext grid 若干問題

1.grid.getselectionmodel getcount 獲得當前選中的行數 2.grid.getstore gettotalcount 獲得記錄總數 3.grid.getstore getcount 獲得當前分頁的記錄總數 4.5.獲得當前滑鼠單擊的單元格的value 6.new gri...