欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQLcode错误代码汇总和sqlstate=37000的解决方案

程序员文章站 2024-02-16 12:48:10
...

今天绿茶小编在用Power Designer第二次反向数据库时,遇到一个问题,如下: Unable to list the users. [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 SQL Server2005中文版 www.33lc.com/soft/12358.html 找了半天,才

今天绿茶小编在用Power Designer第二次反向数据库时,遇到一个问题,如下:

Unable to list the users.

[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句

SQLSTATE = 37000

SQL Server2005中文版
www.33lc.com/soft/12358.html

找了半天,才按如下方式得到解决。归根结底,是偶在下述第二步骤中出错了

解决方案

步骤一:找到PD的DBMS,并修改其DBMS 配置,选择菜单栏中的Database -> Change Current DBMS ,给DBMS选择SQL Server2005。

如图:

SQLcode错误代码汇总和sqlstate=37000的解决方案

SQLcode错误代码汇总和sqlstate=37000的解决方案

步骤二:修改 ODBC 连接方式,切记,使用向导生成 System DSN 时一定不要选择 default database。

重新配置ODBC连接,管理工具 -> 数据源ODBC -> 在用户DSN Tab选项中点添加 ->出现创建新数据源的选择框口,拖动滚动条到最下方,选择SQL Srever点完成,出现新数据源命名窗口,名称:BinODBC,在服务器下拉框中,选择本地数据库实例。点下一步 -> 选择使用用户ID和密码的Sql server验证 -> 输入sql用户名密码 ->不要选择"更改默认的数据库为"选框 。直接下一步 -> 完成

SQLcode错误代码汇总和sqlstate=37000的解决方案

步骤三:从PD里选择File -> Reverse Engineer -> Database

步骤四:选择数据库,选择表,OK,大功造成。

SQL code

ODBC 错误信息

根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLERROR 返回 SQLSTATE 值。SQLSTATE 值是包含五个字符的字符串。下表列出了驱动程序可以为 SQLError 返回的 SQLSTATE 值。

为 SQLSTATE 返回的字符串值由两个字符的类值后接三个字符的子类值组成。类值 01 表明是一种警告,后跟随 SQL_SUCCESS_WITH_INFO 的返回代码。只要类值不是 01(IM 除外),则表明是一种错误,后跟随 SQL_ERROR 的返回代码。类 IM 专门用于表明从 ODBC 实现产生的警告和错误。任何类中子类值 000 均用于实现给定类中所定义条件。这种类值和子类值的分配方法由 SQL-92 定义。

说明 通常由返回值 SQL_SUCCESS 表明成功执行了一个函数,但 SQLSTATE 00000 也表明成功执行。

SQLSTATE ODBC API(驱动程序管理器)错误

00000 成功

01000 常规警告

01002 断开连接错误

01004 数据被截断

01006 未废除特权

01S00 无效连接字符串特性

01S01 行中的错误

01S02 选项值已更改

01S03 未更新或删除任何行

01S04 更新或删除了多行

01S05 取消操作被当成 FreeStmt/Close

01S06 设法在结果返回第一个行集之前进行提取

07001 参数个数错误

07006 违反受限制的数据类型特性

07S01 默认参数使用无效

08001 无法连接到数据源

08002 连接正在使用

08003 连接未打开

08004 数据源拒绝建立连接

08007 在执行事务的过程中连接失败

08S01 通讯链接失败

21S01 插入值列表与列列表不匹配

21S02 派生表的程度与列列表不匹配

22001 字符串数据右截断

22002 需要指示符变量,但未提供

22003 数字值超出范围

22005 分配时出错

22008 Datetime 字段溢出

22012 被零除错误

22026 字符串数据,长度不匹配

23000 违反完整性约束

24000* 无效的游标状态

25000 无效的事务状态

28000 无效的授权规范

34000 无效的游标名称

37000 语法错误或违规访问 --------------------------------在联机帮助里

3C000 重复的游标名称

40001 串行错误

42000 语法错误或违规访问

70100 操作终止

IM001 驱动程序不支持本函数

IM002 未找到源名称并且未指定默认驱动程序

IM003 无法装载指定的驱动程序

IM004 驱动程序的 SQLAllocEnv 失败

IM005 驱动程序的 SQLAllocConnect 失败

IM006 驱动程序的 SQLSetConnectOption 失败

IM007 未指定数据源或驱动程序;禁止对话

IM008 对话失败

IM009 无法装载转换 DLL

IM010 数据源名称过长

IM011 驱动程序名称过长

IM012 DRIVER 关键字语法错误

IM013 跟踪文件错误

S0001 基表或视图已存在

S0002 未找到基表

S0011 索引已经存在

S0012 未找到索引

S0021 列已存在

S0022 未找到列

S0023 列无默认值

S1000 常规错误

S1001 内存分配失败

S1002 列编号无效

S1003 程序类型超出范围

S1004 SQL 数据类型超出范围

S1008 已取消操作

S1009 参数值无效

S1010 函数序列错误

S1011 操作在此时无效

S1012 所指定的事务操作代码无效

S1015 无可用的游标名称

S1090 字符串或缓冲区长度无效

S1091 描述符类型超出范围

S1092 选项类型超出范围

S1093 参数编号无效

S1094 小数位数值无效

S1095 函数类型超出范围

S1096 信息类型超出范围

S1097 列类型超出范围

S1098 作用域类型超出范围

S1099 可为空类型超出范围

S1100 唯一性选项类型超出范围

S1101 准确性选项类型超出范围

S1103 方向选项超出范围

S1104 精度值无效

S1105 参数类型无效

S1106 提取类型超出范围

S1107 行值超出范围

S1108 并发选项超出范围

S1109 游标位置无效

S1110 驱动程序完成无效

S1111 书签值无效

S1C00 驱动程序无法执行

S1DE0 执行值挂起时无数据

S1T00 超时失效

很详细的错误代码汇总,希望能对大家有帮助哦