这样配置Delphi3.0的BDE或ODBC使我能和NT上的MSSQL Server 连接?(100分)

  • 主题发起人 主题发起人 snowdeep
  • 开始时间 开始时间
S

snowdeep

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,谢谢!
 
首先你需要安装SQL Server的客户端程序
1、如果用BDE Alias连接,设置Alias类型为MSSQL,在Alias参数中指定:
Server Name=<数据库服务器机器名>
Database Name=<数据库名>
User Name=<登录数据库用户名>
Password=<登录数据库口令>
2、建议你用TDatabase控件来连接数据库,这样就不需要外部的Alias和ODBC了
属性设置如下:
DriverName='MSSQL';
LoginPrompt=False;
连接数据库代码如下:
with ADatabase do
begin
Close;
with Params do
begin
Clear;
Add('Server Name=<数据库服务器机器名>');
Add('Database Name=<数据库名>');
Add('User Name=<登录数据库用户名>');
Add('Password=<登录数据库口令>');
end;
try
Open;
except
ShowError('好背啊!登录失败了!! >:-<<')
end;
end;
 
你可以先在BDE administrator 中 添加一DATABASE ,名称为SQLTEST,
类型为MSSQL, 设置相应的属性,如SERVER NAME,OPEN MODE。
在DELPHI 中,在数据库控件中设置ALIASNAME 为 SQLTEST
 
1、我按李颖的建议用TDatabase控件来连接数据库,登陆不上服务器.
我在一ButonClick事件中填写的程序如下:
with Database1 do
begin
Close;
with Params do
begin
Clear;
Add('Server Name = OAS01');
Add('Database Name = master');
Add('User Name = sa');
Add('Password = tlz');
end;
try
Open;
except
ShowMessage('好背啊!登录失败了!! >:-<<');
end;
end;

是我的MSSQL Server 客户端软件安装不正确?还是其他原因?

2、我要是用TDataBase控件,怎么和DBGrid控件挂上? 还要不要
使用TTable 和 TDataSouurce控件?怎么用?
谢谢!
 
补充:

我给TDataBase控件填了如下属性:

DriveName: MSSQL
DataBaseName: master (MSSQL Server安装时就有的数据库)
LoginPrompt: False
Parameter:
SERVER NAME=OAS01
DATABASE NAME=Master
USER NAME=tlz
PASSWORD=tlz

然后我试图将Connect属性置为True.结果报以下错误:

Vendor initialization failed.
Cannot load an IDAPI service library.
File: NTWDBLIB.DLL
Alias:master.

请问,问题出在哪里?谢谢!
 
我想问一下,你的SQLSERVER客户端安装过了吗,在客户端用SQL Ent..maneger连通了没有,如果没有,你的SQL SERVER版本不对(我指的是D版的),有种D版的SQL SERVER客户端连不通的。

另外,问李颖,按你说的方式不用配ODBC或是BDE是真的吗,还有,你的ODBC单元已下载,不用发了。谢谢!
 
肯定是没装好SQLSERVER客户端。
Tdatabase很好用的,就把它当作是一个新的别名,TTable 和 TDataSouurce控件当然要了,还是和以前一样用就行了。
 
MSSQL Server 客户端程序装好了。并且用客户端程序
能连到NT的MSSQL Server上。
 
补充:
我在工作站上安装好MSSQL Server时,
只看到两个可以启动的程序:
1。ISQL_w.
2。SQL Client Configuration Utility
我启动了ISQL_w, 并在输入UserID和Password
窗口输入正确的信息后,就能连上NT上的SQL Server了
这样算是装好了还是没有装好客户端程序?

 
根本不用安装MSSQL Server 客户端程序。
只要配好ODBC就行了。
ODBC和BDE的目的就是为远端的数据库在本机上开一个别名,可以用来连接。
ODBC配法可以看书或资料。
C:/windows/system/Ntwdblib.dll文件可能坏了,重新安装98或拷一个新的。
 
1、NTWDBLIB.DLL是SQL Server客户端的核心文件,
BDE和ODBC都需要它。SQL客户端正常说明SQL客户端
本身不需要它,只是供ODBC使用的支持库。
总之BDE绝对需要NTWDBLIB.DLL,
建议你重装SQL客户端
2、关于TDatabase的使用
它不是有一个DatabaseName属性吗,
给这个属性赋值,其他所有TDataset组件的
AliasName都赋同样的值,就连接到这个数据库了。
其他和使用BDE的Alias是一样的。
实际上BDE的Alias最终也是用TDatabase实现的,
只不过将参数设置界面提供给你,它自己产生一个
TDatabase控件,根据这些参数来连接数据库,可以
说是一个傻瓜型的接口。
 
既然你的客户端正常,那就不用重装了。
但那个DLL一定要重新拷一个,BDE,TDatabase多要用它。
另外,Tdatabase在namelogin中设好use name ,password 后,就可以不要那个讨厌的登录窗口了。
 
哦,怪不得,我在整个硬盘中搜索,都找不到
ntwdblib.dll这个文件,那我的MSSQL Server
的客户端是怎么连到NT的MSSQL Server上的?
安装什么才能将ntwdblib.dll文件随之安装到
系统中?
 
哈哈,笨笨老屠, 给我打电话呀。
全盘SERCHE , 能找到 ntwdblib.dll
SQL SERVER 的客户端连接到 SERVER 端有三种连接方式
每一种都需要两个DLL
如果你用最普通的 Name Pine命名管道方式,需要Dbnmpntw.dll和
ntwdblib.dll
仅仅用一个ntwdblib是不够的。
这两个DLL一般是在你安装了CLIENT后在MSSQL目录里的BINN子目录里
你发布程序的时候在安装盘里包含这两个文件,发布到你的BDE目录
或程序目录或系统的PATH(autoexec.bat)里就可以了
 
寒松:

我不但是全盘而且是所有的盘都是搜索了,

就是找不到你说的ntwdblib.dll文件,何故?

另外,你以前给我的ICQ号(2891601)还有效吗?

电话是老的电话号码,也不知道你换了没有,你手机

号码我没有记下来。不好意思。
 
sorry, 就是我的客户端没有装好造成的。
原来我用MSSQL Server 光盘上的Client/win16中的
Setup程序装的客户端不行,必须用/i386下的Setup装
客户端才行。就是说MSSQL Server光盘在服务器上安装
和在工作站上安装用的是同一个Setup,他会自动识别安
装的是服务器还是客户端。谢谢各位热情帮助。
 

Similar threads

D
回复
0
查看
753
DelphiTeacher的专栏
D
D
回复
0
查看
759
DelphiTeacher的专栏
D
D
回复
0
查看
776
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部