首页 > 解决方案 > 将 COBOL 连接到数据库

问题描述

我正在尝试使用嵌入式 SQL 处理器连接到 COBOL 中的数据库。问题是我不知道如何建立连接。该CONNECT声明的文档说使用datasource| servername,但实际上是什么?我尝试使用CONNECT WITH PROMPT,它会打开一个配置屏幕,但我无法使其工作。如何使用此 SQL 嵌入式处理器建立连接?

我正在使用 MicroFocus NetExpress 编译器,版本 5.1.6.14。

我正在使用的代码:

$set SQL

working-storage section.
exec sql
    include sqlca
end-exec.
01 SQLCA.
    05  SQLCAID         PIC X(8)         VALUE "SQLCA   ".
    05  SQLCABC         PIC S9(9) COMP-5 VALUE 136.
    05  SQLCODE         PIC S9(9) COMP-5 VALUE 0.
    05  SQLERRM.
        49  SQLERRML    PIC S9(4) COMP-5.
        49  SQLERRMC    PIC X(70).
    05  SQLERRP         PIC X(8).
    05  SQLERRD         PIC S9(9) COMP-5 OCCURS 6 VALUE 0.
    05  SQLWARN.
        10  SQLWARN0    PIC X.
        10  SQLWARN1    PIC X.
        10  SQLWARN2    PIC X.
        10  SQLWARN3    PIC X.
        10  SQLWARN4    PIC X.
        10  SQLWARN5    PIC X.
        10  SQLWARN6    PIC X.
        10  SQLWARN7    PIC X.
        10  SQLWARN8    PIC X.
        10  SQLWARN9    PIC X.
        10  SQLWARN10   PIC X.
        10  SQLWARNA    REDEFINES SQLWARN10 PIC X .
    05  SQLSTATE    PIC X(5).

procedure division.

exec sql
     connect to ':ws-base-src' as banco user 'sa.'
end-exec

display SQLCODE

我总是得到返回码:19703。来自这个文档。它说它无法建立连接。

SQLERRM 变量具有此信息; Data source name not found and no default driver specified.

对于CONNECT语句用法,我正在关注此文档。.

标签: cobolmicrofocus

解决方案


正如@James Anderson 所说,这是一个连接配置问题。必须为访问 Microsoft SQL Server 和 OCDB 连接做一些配置。


推荐阅读