问题描述
我正在尝试使用嵌入式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。来自this documentation。它说它无法建立连接。
sqlERRM变量具有此信息; Data source name not found and no default driver specified
。
对于CONNECT
语句的用法,我关注的是this documentation.。
解决方法
正如@James Anderson所说,这是一个连接配置问题。必须对Microsoft SQL Server和OCDB连接上的访问进行一些配置。