从Visual Studio COBOL连接到MySQL数据库

时间:2016-09-23 21:36:08

标签: mysql visual-studio-2012 cobol

对于基于服务器的SQL,我是新手。我正在尝试在Windows中编写一个供我自己使用的小工具。我已经下载了MySQL并在Visual Studio中创建了一个COBOL程序。我可以使用Server Explorer将VS连接到示例数据库(sakila)。我可以在窗口中看到表格,当我在COBOL中命名一个有效的表格时,我可以得到一个干净的编译,所以VS显然是“看到它”。但是,我运行时无法连接到服务。我在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。相关的消息是“未找到数据源名称且未指定默认驱动程序”,这可能是自解释的,但我不确定如何纠正。

2 个答案:

答案 0 :(得分:1)

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

使用ODBC时,您应该通过%windir%\System32\odbcad32.exe创建数据源名称(这种方式指定使用的实际驱动程序,至少指定服务器)(对于当前用户或 - 以管理员身份启动 - 用于系统)

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

答案 1 :(得分:0)

-19703记录为“无法建立连接。”

看起来你正在使用“Format 2”,我找到了它 更容易使用“格式6”并设置您的DSN(如上面Simon所说)。