cobol - 将 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
语句用法,我正在关注此文档。.
解决方案
正如@James Anderson 所说,这是一个连接配置问题。必须为访问 Microsoft SQL Server 和 OCDB 连接做一些配置。
推荐阅读
- angular - 如何测试是否在 NgRX 中调度了动作?
- c# - 使用 Json.NET 使用对象数组列表序列化对象会引发 NullReferenceException
- reactjs - Graphql Code Generator 打字稿操作插件生成错误的类型
- java - 如何在Android中按child和equalTo查询Firebase?
- npm - Webpack - 如何判断不为特定入口点编译 js 文件
- typescript - 使用 mongoose 时出现打字稿错误(在 kubernetes 集群和 skaffold 中运行)
- javascript - JavaScript 函数序列
- node.js - 我可以将 Firestore 数据导出到本地文件路径而不是 Cloud Storage 路径吗?
- awk - 哇;当两个文件共享一个公共标题时从两个文件中获取多行
- google-cloud-platform - 如何将 bigquery 表中的 16000 多行作为 CSV 文件导出到本地机器?