cancel
Showing results for 
Search instead for 
Did you mean: 

关于用C#访问SAP B1 数据库的问题

Former Member
0 Kudos

由于刚接触SAP B1, 对在.net 程序中用C#访问SAP B1数据库不知道如何连接。 查看了一些文档,我想我可以用Interop.SAPbobsCOM.dll 来操作,但是有一个疑问, 如果我的SAP B1装在远程服务器上,在本地如何使用Interop.SAPbobsCOM.dll 来操作? 本地要安装SAP B1吗?

请大家帮忙,谢谢

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

本地要安装SAP B1,至少要安装DI API。

谢谢,

Gordon

Former Member
0 Kudos

谢谢回复。

Former Member
0 Kudos

如果我用SQL的连接字符串直接去连服务器端的SAP数据库应该也可以 吧?我只是选择数据,但是服务器端用SQLserver2008 manage studio打开,却看不到SAP的数据库,这是什么原因呢?

Former Member
0 Kudos

我安装DI API的时候,让我选择lincence server name 或者 SAP共享文件夹。 我填上一个服务器名字,但是说找不到licence 服务器, 我的SAP在远程,请问我如何才能在本地装上DI API?

Former Member
0 Kudos

试一下IP地址。

Former Member
0 Kudos

装上了,谢谢。可是我的代码连接远程总是连不上, 下面是我的代码:

Company company = new Company();

company.Server = "192.168.1.131";

company.language = BoSuppLangs.ln_English;

company.UseTrusted = true;

company.CompanyDB = "Develop1";

company.UserName = "manager";

company.Password = "manage";

int i = company.Connect();

i=-111 或者 -125

我在131的机器上用这个用户名和密码登录没问题,不过我没有权限,但是代码是连不上,我这样应该写是没错吧?

Former Member
0 Kudos

你是不是少了一句:

Company.DbServerType = dst_MSSQL2008

Former Member
0 Kudos

我刚才找了个例子,发现没有指定DBType,然后我就加上了,就是company.Connect()返回值从-125变成了-119,不过还是连不上。

我发现company有DBuser和DBpassword,是不是要用这个,而不是username和password?

Former Member
0 Kudos

run-time error '-119(ffffff89)': this database server type is not supported.

就是说,你所用的SDK版本不支持SQL Server 2008。

Former Member
0 Kudos

谢谢,我昨天搜了好半天都没有搜到这个错误代表什么意思,你是从哪里找到的,能告诉我吗?这样再连不上我也就有个目标了

Former Member
0 Kudos

我知道如何得到错误信息了,我引用的8.8的dll不支持sqlserver2008, 2007的dll可以,但是现在错误是u201CFailed to Connect to SBOCommonu201D。郁闷

Former Member
0 Kudos

在英文论坛上寻找u201CFailed to Connect to SBOCommonu201D,就可以找到许多信息。

Former Member
0 Kudos

谢谢回复。

我搜索了很多,但是我现在怀疑是SAP升级的问题。 SAP B1 8.8 怎么会不支持sqlserver2008呢? 只要我引用了DI API 8.8, 就说不支持数据库,用DI API 2007 就" Failed to connect SBOCommon".

我记得说DI API, SDK 和SAP B1的版本必须一致,我用8.8版就一致,怎么就不支持sqlserver2008。

不知道你有什么建议? 我用database 的账号和密码也连过了,都是同样的错误。

Former Member
0 Kudos

你的PL是最新的吗?现在至少是PL12了。

Former Member
0 Kudos

PL是什么?我在开发端的机器上也要装吗?

Former Member
0 Kudos

PL = Patch Level. 是不是叫补丁包?就是你当前的版本。

Former Member
0 Kudos

Thank you very much, Du.

我昨天装上了SAP B1 Client, 虽然还是连不上,但是能列出公司的数据库,只是选中公司之后登录会出现内部错误。 代码里的错误也变了,在 new company()时像死循环了一样,没有动静。

相同的代码放在SAP server上没有问题,所以我想不是我代码写的有问题,确实是配置的问题。