从Java连接到OLEDB数据源?

时间:2009-09-17 19:35:33

标签: java sql-server oledb

我们正在尝试连接到ACT CRM系统使用的SQL Server实例。他们设法锁定了所以无法使用ODBC连接到SQL后端(有一些特殊的实用程序将添加ODBC支持,如果您购买该软件的primo版本,则可以安装该支持,但这是只是疯了)。

建议连接这些数据库的方法是使用OLEDB连接。

有没有人有任何技巧/想法/等...如何制作和使用Java的OLEDB连接?

如果不可能,则不必是JDBC。我们真正需要做的就是执行一个SELECT查询,该查询返回两个字段并为每一行解析这些字段值。我对OLEDB的经验很少,所以'使用JACOB'可能是一个很好的答案,但我很欣赏COM调用实际上必须具备的一些细节。

5 个答案:

答案 0 :(得分:1)

那不是你的问题。问题是他们锁定服务器的方式。基本上在启动时它会查找除ACTUSER之外的登录并删除它们。

你可以很容易地解锁它,然后你就能以通常的方式连接。

https://serverfault.com/questions/77712/sqlserver-need-to-access-an-act-database-for-data-migration

我已经成功解锁了我但是我忘记了......我想我是以单用户模式启动它然后做了一些有趣的事情,包括在master数据库中解密存储过程并编辑它以删除那个“功能” 。这反过来又涉及使用SQLTrace来查看ACT发送的命令。

我建议您询问服务器故障。

答案 1 :(得分:1)

我知道这是旧的,但可以帮助别人知道我是怎么做的

我更详细地描述了如何做Here

答案 2 :(得分:0)

Java无法直接访问OLEDB。您需要使用其他语言(如C ++或C#)执行此操作。然后您可以通过JNI或外部进程访问。如果您不想编写JNI self的本机部分,那么您可以使用JACOB建议的方式。但我认为外部流程看起来更简单。

答案 3 :(得分:0)

解决此问题的两种方法。

  1. 从java生成外部proc(c#,c ++等),使用OLEDB连接到SQLSrv,并将stdin,stdout和stderr重定向到java程序。
  2. 在特定端口上创建一个C#侦听器,让java通过客户端将所有请求传递给该侦听器。

答案 4 :(得分:0)

或使用:http://uda.openlinksw.com/jdbc/mt/jdbc-sqlserver-mt/ 他们开发各种驱动程序。我之前用过这家公司......

相关问题