通过ADOConnectionstring从delphi-7应用程序建立ODBC连接

时间:2013-01-23 09:53:28

标签: delphi delphi-7 delphi-6

背景:

用Delphi-7或-6编写的应用程序(通过.exe文件搜索)。被称为Sigmanest。

我已经搬到新服务器了,剩下的就是在SQL服务器下运行的SigmaNest数据库。经过数小时的故障排除后,将该数据库迁移到新服务器。麻烦已经涵盖了这个SQL Server应用程序的所有方面。服务没有默认启动,非工作向导,缺少全文,荒谬的许多地方右键点击等。丢失的事情一直在继续。

目前,我在新硬件上有一个带有数据库SNDBase(sigmanest)的SQL服务器,但无法从客户端连接。

Na这不可能是正确的我想到并寻找替代方案.. 4-5点击MySQL工作台,我把它运行在测试linux盒子上...很好..

但现在谈到问题。

SigmaNest使用ini个文件进行配置。

所以我找到了一个ini文件

; 1 = Paradox, 2 = MSSQLServer or MSDE
ADOConnectionString=Provider=SQLOLEDB.1;Data Source=ODIN\SIGMANEST;User ID=sigmanest;Password="";Persist Security Info=True;Initial Catalog=SNDBase;

Okej ..在客户端上安装了Mysql odbc驱动程序并建立了连接。所有工作到目前为止..

转向google并找到了mysql的ADOConnectionsstring ...

ADOConnectionString=DRIVER={MySQL ODBC 5.2a Driver};SERVER=192.168.100.19;PORT=3306;DATABASE=SNDBase;UID=sigmanest;PASSWORD=;OPTION=4;

但该应用程序无法启动。只需返回sigmanest的数据库连接配置工具。

已将此发布到SigmaTek,但我唯一给出的回复是通过SQLOLEDB为MS sql server提供ADOConnection字符串的邮件。

搜索了驱动器并且没有找到anny dbex * .dll文件,这意味着他们不使用dbExpress组件(我猜)。

因此应用程序没有附带一些丢失的dll文件。或者在程序中硬编码这种东西?

任何人都知道如何继续?

或者我应该放弃mysql梦想并浪费空间sql server后端。

Per Nils

PS。 SigmaNest.exe有一个时间戳2006-05-19 DS。

1 个答案:

答案 0 :(得分:0)

抱歉,我不知道该问题该怎么做。而且,stackoverflow似乎已经在同一屋檐下编辑了世界上所有人才。

Ken White:是的,你是对的我不能在这个应用程序上使用MySQL(经过数小时的谷歌搜索和测试)。

无论如何,我设法建立了这样的连接(也许某些东西对其他人有用,其中一些与Delphi有关)

  • 首先,您必须下载mysql连接器http://dev.mysql.com/downloads/connector/odbc/

  • 从控制面板进行ODBC连接 - >管理工具 - > “用户DSN”选项卡下的数据源(ODBC)

  • 您使用记事本制作新的文本文件。

  • 使用扩展名.udl

  • 重命名该文件
  • 双击它并填写对话框...

  • 在记事本中打开文件,你有adoconnection字符串。

但你的问题还没有结束.SQL与MySQL的区别将使你的应用程序暂停..例如MySQL中的boolean被声明为tinyint(0 = false 1 = true)

此处提到了一种解决方法http://www.i-logic.com/utilities/MySQL.htm

所以我的斗争没有给予回报,但上面的一些可能对其他人感兴趣。

Per Nils ..