Delphi動態配置ODBC資料來源--SQL Server版本

來源:互聯網
上載者:User

標籤:參數說明   資料   sof   應用   資料庫   dll   proc   call   href   

(摘自)http://jxlearnew.blog.163.com/blog/static/549786592007102451431413/

這裡介紹一種用Delphi來實現動態註冊的方法,希望對各位有所協助.
這裡我們直接使用ODBCCP32.DLL中提供的SQLConfigDataSource函數來實現,該函數在在Delphi中可聲明如下:
//配置ODBC資料來源,成功則返回True
function SQLConfigDataSource(
hwndParent: Integer;
fRequest: LongInt;
lpszDriverString: string;
lpszAttributes: string
): LongBool; stdcall; external ‘‘‘‘ODBCCP32.DLL‘‘‘‘;
參數說明:
1、hwndParent: 父視窗Handle,當指定為0時不會出現對話方塊,否則會彈出標準的ODBC配置對話方塊
2、fRequest: 命令請求,用來指明你要完成的功能,其值可為:
ODBC_ADD_DSN = 1;
ODBC_CONFIG_DSN = 2;
ODBC_REMOVE_DSN = 3;
ODBC_ADD_SYS_DSN = 4;
ODBC_CONFIG_SYS_DSN = 5;
ODBC_REMOVE_SYS_DSN = 6;
3、lpszDriverString: 驅動程式名稱,就是在ODBC設定中顯示的驅動程式名稱,如SQL Server以及 Microsoft Access Driver (*.mdb)
4、lpszAttributes: 此DSN的一些屬性,可有多項,各項之間用分號(;)分隔

首先在Delphi中對以上函數進行聲明之後,接下來的步驟如下:
1、聲明常量:
const
ODBC_ADD_DSN = 1;
ODBC_CONFIG_DSN = 2;
ODBC_REMOVE_DSN = 3;
ODBC_ADD_SYS_DSN = 4;
ODBC_CONFIG_SYS_DSN = 5;
ODBC_REMOVE_SYS_DSN = 6;
2、在Form中放入一個Button,在其事件中寫
procedure TForm1.Button1Click(Sender: TObject);
begin
SQLConfigDataSource(0,
ODBC_ADD_SYS_DSN,//~換成Handle就是手工配置
‘SQL Server‘, //資料庫類型
‘DSN=house‘#0 + //資料來源名稱
‘Server=(local)‘#0 + //SQL Server伺服器名
‘Database=房屋銷售資料庫‘#0 + //資料庫名稱
‘Description=動態配置ODBC‘#0 //描述
);
end;
單擊Button1後,資料來源house的資訊就已經成功寫入到註冊表中
以上方法已經在Delphi 7.0下測試通過,不過在應用本方法前首先確保你的機器上已經正確安裝了Microsoft SQL Server2000資料庫系統,並且 Database = 房屋銷售資料庫 是存在的,否則可能會產生未知的錯誤。

Delphi動態配置ODBC資料來源--SQL Server版本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.