从 Visual Studio COBOL 连接到 MySQL 数据库

Connecting to MySQL database from Visual Studio COBOL

我是基于服务器的新手 SQL。我正尝试在 Windows 中编写一个供我自己使用的小实用程序。我已经下载 MySQL 并在 Visual Studio 中创建了一个 COBOL 程序。我可以使用服务器资源管理器将 VS 连接到示例数据库 (sakila)。我可以在 window 中看到表格,当我在 COBOL 中命名一个有效的表格时,我可以获得干净的编译,所以 VS 显然是 'seeing it'。但是,当我 运行 时,我无法连接到该服务。我在 SQL 'connect' 语句中得到 -19703 sql 代码,后续语句也失败了。

move "sakila" to datname-arr
move length of "sakila" to datname-len
move "Allan" to username-arr
move length of "Allan" to username-len
move "password" to userpass-arr.
move length of "password" to userpass-len
exec sql connect :username identified by :userpass using :datname end-exec.

那是我得到 -19703 的地方。用户有效且密码正确。 SQL 预处理器是 OpenESQL,指令 DBMAN = ODBC。关联的消息是 'Data source name not found and no default driver specified',这可能不言自明,但我不确定如何纠正。

该错误似乎告诉您您没有创建数据源名称 (DSN)。

当使用 ODBC 时,您应该已经通过 %windir%\System32\odbcad32.exe(为当前用户或 - 以管理员身份启动 - 对于系统)。

提示:如果您有 32 位 COBOL 应用程序并且 运行 在 64 位 OS 上启动 %windir%\SysWOW64\odbcad32.exe。我想 datname-arr 应该包含 DSN 名称,而不是数据库名称。

-19703 记录为 "Could not make connection."

你好像在用“Format 2”,我找到了 更易于使用 "Format 6" 和设置您的 DSN(如 Simon 上面所说)。