Delphi7 三层架构 连接数据库

时间:2022-01-07 13:14:20
目前问题:原本做的是一个简单的数据库程序(连接本地数据库),现在因为需求变更,需另外访问局域网一台电脑数据库,这台电脑是我们公司的金蝶K3 ERP服务器,K3的数据库文件存在这台电脑的F盘,这个盘是不对外共享的,所以我无法用数据库组件直接访问K3数据库文件。
因为K3是用三层架构的,中间有一个中间层,我在想,我是不是也可以用这个方式去访问数据库?
[1]请问我的方向错了没有?
[2]如果对了,该怎么去访问数据库?
     如果不对,那该用什么方法来访问这个不共享的数据库?

先60分吧,如果解决了,结帖时我会加到100分的
不管怎样,先鞠躬感谢各位关注我问题的人,CSDNer真的帮了我很多.


21 个解决方案

#1


首先你需了解K3用的是什么数据库,不管它的文件放在哪(除非是桌面类数据库),然后再确定如何连接。

#2


引用 1 楼 oraclers 的回复:
首先你需了解K3用的是什么数据库,不管它的文件放在哪(除非是桌面类数据库),然后再确定如何连接。

ms sql server

#3


直连不就行了?

#4


找到数据库文件(磁盘文件)。看其类型,直接打开。

#5


引用 3 楼 dinoalex 的回复:
直连不就行了?

可是连不到那个数据文件啊,请问有没有示例》?

#6


引用 4 楼 lyhoo163 的回复:
找到数据库文件(磁盘文件)。看其类型,直接打开。


用ADO组件就能直连吗?

#7


引用 6 楼 lvlufeng 的回复:
引用 4 楼 lyhoo163 的回复:
找到数据库文件(磁盘文件)。看其类型,直接打开。


用ADO组件就能直连吗?

如果是MS SQL 就不是連接數據文件,而是數據庫連接,建議用ADO組件。

#8


不管什么数据库、数据库在哪里,三层架构RemObjects/Data Abstract都可以连!

#9


请问是不是在类库中连接数据库

#10


我估计是你少引用一个东西!

#11


要知道k3数据库的ip、实例名、帐号、密码。。。。。。。然后就可以直接用ado连了

#12


引用 9 楼 xinagchneg 的回复:
请问是不是在类库中连接数据库

谢谢您的回答,我是想直接用组件连数据库

#13


引用 11 楼 sz_haitao 的回复:
要知道k3数据库的ip、实例名、帐号、密码。。。。。。。然后就可以直接用ado连了

K3服务器的IP:192.168.0.3
可是在我用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,
然后输入登录密码,说登录不成功
我不知道该输入哪一密码去登录
实例名是否就是指数据库文件名?

#14


一台机器,可以有多个数据库的实例,每个实例就是我们普通接触的数据库服务,里面可以有多个库。。。。。
如果实例名不是缺省的,就还需要加上实例名才能访问

#15


根三层没有关系吧,直接用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,输入密码登陆不成功?
你尝试用查询分析器连到你K3的数据看是否能连?要不行在K3那台机打SQL SP4,允许外面访问!

#16


引用 15 楼 f172515968 的回复:
根三层没有关系吧,直接用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,输入密码登陆不成功?
你尝试用查询分析器连到你K3的数据看是否能连?要不行在K3那台机打SQL SP4,允许外面访问!

是的,我的步骤是:
用adoconnection,然后设置connectionstring,服务器地址输入了:
192.168.0.3,然后在下面要输入帐号:administrator 密码为空。
然后想选数据库,点那个下拉箭头的时候,提示错误 :用户administrator登录失败
 
我在服务器上直接打开MS SQL server连接数据库的时候,默认的就是 192.168.0.3\administrator
密码那里是空的。

请问我是不是用户选错了/?
请问连接数据库是该用什么用户登录 ?

#17


是不是密码问题。

#18


感谢大家帮助,正如大家所说,原来直接用adoconnection连接就行,
我前面那样设置不行,我就去建立了一个odbc数据源,连接成功了,感谢大家,
马上结帖,100分奉上.

鞠躬感谢

#19


因为热心的人太多了,100分分过来大家 也只拿了一点分,
对不起

#20


 学习一下!

#21


有点晕了,我的那个三层 更新部分有点问题的

#1


首先你需了解K3用的是什么数据库,不管它的文件放在哪(除非是桌面类数据库),然后再确定如何连接。

#2


引用 1 楼 oraclers 的回复:
首先你需了解K3用的是什么数据库,不管它的文件放在哪(除非是桌面类数据库),然后再确定如何连接。

ms sql server

#3


直连不就行了?

#4


找到数据库文件(磁盘文件)。看其类型,直接打开。

#5


引用 3 楼 dinoalex 的回复:
直连不就行了?

可是连不到那个数据文件啊,请问有没有示例》?

#6


引用 4 楼 lyhoo163 的回复:
找到数据库文件(磁盘文件)。看其类型,直接打开。


用ADO组件就能直连吗?

#7


引用 6 楼 lvlufeng 的回复:
引用 4 楼 lyhoo163 的回复:
找到数据库文件(磁盘文件)。看其类型,直接打开。


用ADO组件就能直连吗?

如果是MS SQL 就不是連接數據文件,而是數據庫連接,建議用ADO組件。

#8


不管什么数据库、数据库在哪里,三层架构RemObjects/Data Abstract都可以连!

#9


请问是不是在类库中连接数据库

#10


我估计是你少引用一个东西!

#11


要知道k3数据库的ip、实例名、帐号、密码。。。。。。。然后就可以直接用ado连了

#12


引用 9 楼 xinagchneg 的回复:
请问是不是在类库中连接数据库

谢谢您的回答,我是想直接用组件连数据库

#13


引用 11 楼 sz_haitao 的回复:
要知道k3数据库的ip、实例名、帐号、密码。。。。。。。然后就可以直接用ado连了

K3服务器的IP:192.168.0.3
可是在我用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,
然后输入登录密码,说登录不成功
我不知道该输入哪一密码去登录
实例名是否就是指数据库文件名?

#14


一台机器,可以有多个数据库的实例,每个实例就是我们普通接触的数据库服务,里面可以有多个库。。。。。
如果实例名不是缺省的,就还需要加上实例名才能访问

#15


根三层没有关系吧,直接用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,输入密码登陆不成功?
你尝试用查询分析器连到你K3的数据看是否能连?要不行在K3那台机打SQL SP4,允许外面访问!

#16


引用 15 楼 f172515968 的回复:
根三层没有关系吧,直接用adoconnection,设置连接字符串的时候,在服务器地址那里输入:192.168.0.3,输入密码登陆不成功?
你尝试用查询分析器连到你K3的数据看是否能连?要不行在K3那台机打SQL SP4,允许外面访问!

是的,我的步骤是:
用adoconnection,然后设置connectionstring,服务器地址输入了:
192.168.0.3,然后在下面要输入帐号:administrator 密码为空。
然后想选数据库,点那个下拉箭头的时候,提示错误 :用户administrator登录失败
 
我在服务器上直接打开MS SQL server连接数据库的时候,默认的就是 192.168.0.3\administrator
密码那里是空的。

请问我是不是用户选错了/?
请问连接数据库是该用什么用户登录 ?

#17


是不是密码问题。

#18


感谢大家帮助,正如大家所说,原来直接用adoconnection连接就行,
我前面那样设置不行,我就去建立了一个odbc数据源,连接成功了,感谢大家,
马上结帖,100分奉上.

鞠躬感谢

#19


因为热心的人太多了,100分分过来大家 也只拿了一点分,
对不起

#20


 学习一下!

#21


有点晕了,我的那个三层 更新部分有点问题的