送分哦:关于ms sql 和delphi的连接设置(200分)

  • 主题发起人 主题发起人 MYRULIP
  • 开始时间 开始时间
M

MYRULIP

Unregistered / Unconfirmed
GUEST, unregistred user!
本人不会c/s编程,可是有一个朋友有如下的问题:
情况如下:
我在1台winnt40上安装了 ms sql70, 在另一台win98机子上装了delphi5
win98机器登录在作为pdc的nt的机器上,
请问如何配置两端的机器,以实现delphi与sql的数据连接?
(nt4上创建了一个名为mydatabase的数据库,在win98机子上的delphi的表单中加了一个
database 和table 控件,table控件的tablename与database name 如何连接sql7中的my-
database中的表?)
还请大家指教,
因为我不会,他又无法上网,所以请尽量写的详尽一些,谢谢
 
win98的机器还有装mssql client.
然后再98的机器利用delphi建立一个新的别名。
 
1,在win98上装MS SQL7.0的ODBC驱动,(在MS SQL安装盘上找找,实在找不到就在win98上
装个MS SQL 7.0 的client端)。
2,有了ODBC driver后在win98控制面板中的ODBC32中添加一用户DSN(名字随便起,最好english),IP添入SQLserver 运行的
NT的IP。验证方式可以选择NT集成或MS SQL server验证(需要在server端添加用户或直接用sa)。
验证通过后就可以选择database了(选择你的myDatebase)。test一下,如果告你successfully就OK.
3,BDE升级到最新(好象是5.1.1).启动后会在BDE中自动添加一alias(与上述的DSN同名).
4,启动delhpi.在form上放一database,一个table(table1),一datasource. database的aliasName选步骤3
中的alias. databaseName 设为myDB(名字任意,e文)。table控件的databasename设为myDB,
tableName选一个(应该是你在server上的myDatabase中的表).datasource的dataSet属性设为
table的name(table1).
OK,你可以对table1进行操作了。
 
Use ADO Controls.(it doesn't need to install anything)
 
只使用BDE,不要用ODBC;
1,在win98上装个MS SQL 7.0 的client端,和DELPHI5(在安装时用典型安装)
2,在控制面板的BDE ADMINISTRATOR 中设置别名;
A:新建一个别名,注意选MSSQL驱动,不要用SQL SERVER;
B:设置USER NAME=sa ;SERVER NAME= pdc;DATABASENAME=mydatabase;
C:APPLY;
3。双击打开别名,输入用户名,密码,登陆成功
4,启动delhpi.在form上放一database,一个table(table1),一datasource. database的aliasName选步骤2
中的alias. databaseName 设为myDB(名字任意,e文)。table控件的databasename设为myDB,
tableName选一个(应该是你在server上的myDatabase中的表).datasource的dataSet属性设为
table的name(table1).
OK,你可以对table1进行操作了。
 
还有一种方法:
ADO,不需要安装sql client,也不需要BDE!
adoquery.connectstring:='Provider=SQLOLEDB.1;Password=密码;Persist Security
Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=SQL服务器名'
//记住,上面两行必须合并为一行。
adoquery.sql.text:='select * from 表名';
adoquery.open;
就可以搞掂了!
 
可以任意使用ODBC、BDE、ADO中的一种。建议用ADO。
 
larryle连接方法我也用过,还不许要SQLSERVER的CLIENT端,ODBC驱动程序
实在没有,装上VC++或VB也可以.
 
我来!前几天才碰到这个问题,情况基本一模一样。
我用的是 SQL Link,在客户机上装SQL Link,(只装ms sql7的即可),
在bde administrator中加一个alias,servername可以是server的ip地址,
databasename就是库名,就可以在delphi中使用了。如果不希望运行时出现登录对话框
可在form中加入一个tdatabase,在其事件中指定其用户名、密码。
还有关键一点:客户端要有Ntwdblib.dll,否则不能正常连接。
用SQL Link的性能可能比odbc要好一点。
 
1 2 3
TTable --> TDatabase --> Alias --> Server
这是一个连续的过程,MYRULIP 大虾的第 2、3 步断了,当然过不去。
 
Bde不太好用,我前几天,搞了很长时间,也连不上
后来,设置了一下ODBC,呵,可以用了。(以前一直用BDE)
可能运行时缺少一个什么.dll文件,忘记了,不过在
SQL的光盘中查找到,copy到系统目录即可。

 
1,SQL SERVER CLIENT 端(装WIN98那台)的配置
在注册表里加入如下内容
[HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Client/ConnectTo]
"DSQUERY"="DBMSSOCN"
把下面两个文件复制到WINDWOS/SYSTEM目录中去(可以在装了SQL SERVER的计算机上找到)。
dbmssocn.dll
ntwdblib.dll
注意,网络配置中必须有TCP/IP协议。

2,BDE 的配置
使用administrator添加一个alias,(注意,数据库驱动要选MSSQL)
servername里面填写你的那个装了NT的计算机的名字
databasename里面填写你想要连接的数据库的名字
如果你愿意,连用户名和密码都可以填进去。
其他都用默认的就可以了。

3,程序里的使用
你可以在数据库控件的DATABASENAME属性中使用BDE中设置的那个ALIAS,这一点就不用多说了

保证可以连上去。给分吧。
 
首先谢谢大家,我朋友的问题已经解决了,是因为缺少ntwdblib.dll,所以无法连接.
我大概看了一下,好像连接的方法,还挺多,不过我没有一一验证,但无论如何很感谢大家,
尤其是bigroom,和yangkee,谢谢拉
 
多人接受答案了。
 
后退
顶部