保存sql server数据时报错:ids for this class must be manually assigned before calling save()
SQL SERVER2000数据库深入学习之常见错误
SQL server2000数据库深入学习之常见错误SQL SERVER2000深入学习之常见错误/*数据库编程中常见的错误*/--(1)处理空值--(2)从结果集中对变量进行赋值--(3)没有受影响的记录--(4)错误大小或数据类型--(5)默认长度所引发错误--(6)触发器回滚--(7)警告和优先级错误--(8)嵌套注释--(9)延迟名称解析--(10)游标--(11)过分自信/* for example*/--(1) 处理空值--wrong->follow--if @score=null (except set Ansi_Nulls off)--if @score<>null--Right--if @score is null--if @score is not null--(2) 从结果集中对变量进行赋值--未考虑返回记录集为空时并未对变量进行初始化所引起的问题--当想返回给变量记录集最后一条记录可能出错,因为有时很难预测最后一条记录时哪一条--这取决于所用的索引和查询--(3) 没有受影响的记录--有时或许我们需要假设当T-SQL语句没有影响任何记录时,SQL-server 将返回错误--因为其是逻辑错误所以不可用@@Error来检测,应用@@rowCount--(5)默认长度/*declare @vchardef varcharset @vchardef='123456789012345678901234567890'select datalength(@vchardef),@vchardef--将返回1 1*//* the follow is rightdeclare @vchardef varchar(30)set @vchardef='123456789012345678901234567890'select datalength(@vchardef),@vchardef*/(6) )延迟名称解析--Set Xact_Abort On--语句强制SQL_SERVER在出现错误时回滚整个事务,并停止进一步执行,停止当前批处理的执行,错误均被当成致命错误--但是其不会检测到“编译错误中应延迟名称解析的原因而未在编译阶段发现的错误”如更新不存在的表--因而并不在错误发生时回滚,而是继续提交和执行此文章出自达思SQL数据库修复软件/soft/110811.htm/download/64222.html。
sqlserver数据库被质疑(suspect)的解决方案
reconfigure with override
go
2将这个数据库置为紧急模式:
update sysdatabases set status = 32768 where name = 'db_name'
GO
如果在执行DBCC CHECKDB(‘db_name', REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。
5、若成功修复了数据库中的错误:
重新执行DBCC CHECKDB(‘db_name')命令,确认数据库中已没有错误存在。
清除数据库的置疑状态:sp_resetstatus 'db_name'
清除数据库的单用户模式状态:sp_dboption 'db_name','single user','false'
重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。
6、修改数据库的标志
update sysdatabases set status=12 where name =''db_name'( 'db_name'表示相应的数据库名字)
文档编号:
WD200712140001参考方案
文档标题:
sqlserver数据库被质疑(suspect)的解决方案
操作系统:
WIN 2000 PRO
数据库:
Sql Server 2000
sql server 数据库异常的解决方法
SQL Server数据库异常是常见的技术问题,以下是一些可能的解决方法:
检查错误日志:SQL Server的错误日志是解决问题的关键。
出现异常时,首先应查看错误日志,了解详细的错误信息。
备份和恢复:定期备份数据库是预防数据丢失的有效方法。
如果出现数据损坏或丢失,可以尝试使用备份进行恢复。
检查数据库连接:确保应用程序能够正常连接到SQL Server。
如果连接出现问题,可以检查网络连接、防火墙设置、SQL Server配置等。
优化查询性能:如果查询性能下降,可能是因为表结构不合理、索引失效、数据量过大等。
可以考虑优化查询语句、重建索引、清理历史数据等。
检查磁盘空间:SQL Server数据库需要足够的磁盘空间。
如果磁盘空间不足,可能导致数据库无法正常运行。
需要定期检查服务器磁盘空间,并及时清理不必要的文件。
更新和修复:如果是SQL Server的bug导致的异常,可能需要安装最新的补丁或升级到新版本。
同时,也可以考虑使用修复工具来修复数据库损坏。
联系技术支持:如果自己无法解决问题,可以联系Microsoft的技术支持或社区寻求帮助。
在处理SQL Server数据库异常时,应保持冷静,根据错误信息进行排查。
同时,预防总比治疗更重要,平时应做好数据库的维护和管理,避免出现异常。
sqlserver常见错误
sqlserver常见错误SQLSERVER 常见问题1327 登录失败: 用户帐户限制。
1328 登录失败: 违反帐户登录时间限制。
1329 登录失败: 不允许用户登录到此计算机。
1330 登录失败: 指定的帐户密码已过期。
1331 登录失败: 禁用当前的帐户。
1332 帐户名与安全标识间无任何映射完成。
1333 一次请求过多的本地用户标识符(LUIDs)。
1334 无更多可用的本地用户标识符(LUIDs)。
1335 对于该特别用法,安全 ID 的次级授权部分无效。
1336 访问控制列表(ACL)结构无效。
1337 安全 ID 结构无效。
1338 安全描述符结构无效。
1340 无法创建固有的访问控制列表(ACL)或访问控制项目(ACE)。
1341 服务器当前已禁用。
1342 服务器当前已启用。
1343 提供给识别代号颁发机构的值为无效值。
1344 无更多可用的内存以更新安全信息。
1345 指定属性无效,或与整个群体的属性不兼容。
1346 指定的模拟级别无效,或所提供的模拟级别无效。
1347 无法打开匿名级安全令牌。
1348 请求的验证信息类别无效。
1349 令牌的类型对其尝试使用的方法不适当。
1350 无法在与安全性无关联的对象上运行安全性操作。
1351 未能从域控制器读取配置信息,或者是因为机器不可使用,或者是访问被拒绝。
1352 安全帐户管理器(SAM)或本地安全颁发机构(LSA)服务器处于运行安全操作的错误状态。
1353 域处于运行安全操作的错误状态。
1354 此操作只对域的主要域控制器可行。
1355 指定的域不存在,或无法联系。
1356 指定的域已存在。
1357 试图超出每服务器域个数的限制。
1358 无法完成请求操作,因为磁盘上的严重介质失败或数据结构损坏。
1359 出现了内部错误。
1360 通用访问类型包含于已映射到非通用类型的访问掩码中。
1361 安全描述符格式不正确 (绝对或自相关的)。
SQLSERVER错误号,SQLSERVER错误代码
SQLSERVER错误号,SQLSERVER错误代码SQLSTATE SQL SERVER 驱动程序错误描述HY000所有绑定列都是只读的。
必须是可升级的列,以使⽤ SQLSetPos 或 SQLBulkOperations 更改或插⼊⾏。
HY000已检测到⼀个旧netlib (%s)。
请删除并重新启动应⽤程序。
正在装载的 netlib 已过期。
驱动程序请求⼀个较新的 netlib。
问题可能出在应⽤程序当前⽬录中的 netlib,正在装载的是这个netlib,⽽不是系统⽬录中的那个。
也可能是该 netlib 安装不当或已损坏。
如果错误⽂本中所指定的 netlib 存在于 Windows 系统⽬录外的其它地⽅,请将其删除。
如果 netlib 只存在于系统⽬录中,在客户端安装客户实⽤⼯具,然后重新启动应⽤程序。
HY000尝试将 NULL 值⼤容量复制到不接受NULL 值的 Server 列中。
字段包含 NULL 值,但列不允许 NULL 值。
HY000尝试将过⼤的列⼤容量复制到 SQLServer。
为列提供的长度⼤于表中的列定义。
HY000尝试读取 BCP 格式⽂件的未知版本。
bcp 格式⽂件中的标题⾏采⽤了不可识别的版本。
HY000错误的⼤容量复制⽅向。
必须是 IN 或者OUT。
bcp_init 调⽤没有为 eDirection 参数指定有效的⽅向。
HY000错误的终⽌符。
bcp_bind 中提供的终⽌符字符串⽆效。
HY000Bcp 主⽂件必须⾄少包含⼀列。
未选定任何要装载的列。
HY000⽆法⽣成 SSPI 上下⽂。
驱动程序⽆法获得集成安全性所要求的 SSPI 上下⽂。
本机错误将包含该 Win32 错误代码。
HY000⽆法初始化 SSPI包。
驱动程序⽆法获得集成安全性所要求的 SSPI 上下⽂。
本机错误将包含该 Win32 错误代码。
HY000通讯模块⽆效。
未正确安装驱动程序。
⽹络库 .dll 已损坏。
sqlserver2000错误信息解释(SQLServer2000错误信息解释)
sql server 2000 错误信息解释(SQL Server 2000错误信息解释)Description of error severity (message text)110 last upgrade version date: 10/11/90.2110 warning: serious error%1! Occurred in%2!. Please note the error and time, and then contact the system administrator.10215 syntax errors near''%1!!'.10315%1 with''%2 Too long. The maximum length is%4!.10415 if the statement contains the UNION operator, then the items in the ORDER BY clause must appear in the selection list.10515 string''%1!! 'before there is an unclosed quotation mark.10616 there are too many table names in the query. The maximum allowable number is%1!.The 10715 column prefix''%1 '' does not match the table name or alias used in the query.The position of%1 10815 ORDER in the BY clause exceeds the number of items in the select list.The number of columns in the 10915 INSERT statement is greater than the number specified in the VALUES clause. The number of VALUES clauses must be matched to the number of columns specified in the INSERT statement.The number of columns in the 11015 INSERT statement is less than the number specified in the VALUES clause. The number of VALUES clauses must be matched to the number of columns specified in the INSERT statement.11115''%1! 'must be the first statement in the batch query.11215%1! No variables are allowed in the statement.11315 short notes at the end of'*/'mark.11415 invalid access mode for statements that assign values to variables.11615 when you do not introduce a subquery with EXISTS, you can only specify an expression in the selection list.11715%1! Name''%2! 'contains the number of prefixes greater than the maximum value. The maximum value is%4!.11815 only the members of the sysadmin role can specify the%1!%2 option of the statement.11915, you must pass the number of parameters%1, and pass the following parameters in the form of'@name = value'. Oncethe'@name = value'form is used, all subsequent parameters must be passed in the form of'@name = value'.The selection list of the 12015 INSERT statement contains less entries than that in the insert list. The number of SELECT statements must match the number of columns in the INSERTstatement.The selection list of the 12115 INSERT statement contains more entries than that in the insert list. The number of SELECT statements must match the number of columns in the INSERT statement.12215%1! Options are allowed only for%2! Syntax.The 12315 batch / process exceeds the maximum length of%1 characters.12415 CREATE PROCEDURE does not contain any statements.The 12515 Case expression can only be nested into the%1! Layer.12815 the name''%1! 'is not allowed in this context. Only constants, expressions, or variables are allowed here. Column names are not allowed.12915 fill factor%1! Is an invalid percentage; fill factor must be between 1 and 100.13016 cannot aggregate functions with expressions that contain aggregations or sub queries.13115 gives the size of "%2!''%3!!". (%1!) exceeds the maximum allowed value of any data type (%5!).13215 tag''%1!! 'has been declared. Tag names must be unique within batch queries or stored procedures.The 13315 GOTO statement points to the label''%1 '', but the tag has not yet been declared.The 13415 variable name''%1!! 'has been declared. Variable names must be unique within a batch query or stored procedure.13515 cannot use the BREAK statement outside the scope of the WHILE statement.13615 cannot use the CONTINUE statement outside the scope of the WHILE statement.13715 must declare variable''%1! ''.13815 do not allow relative clauses to be used in subquery.13915 cannot assign default values to local variables.140 15 只能在 create trigger 语句内部使用 if update.141 15 向变量赋值的 select 语句不能与数据检索操作结合使用.142 15 约束 ''% 1! " 的定义中有错误语法.143 15 在排序依据列表中没有找到 compute by 子句中的某一项.计算依据列表中的所有表达式也必须同时出现在排序依据列表中.144 15 在用于 group by 子句分组依据列表的表达式中, 不能使用聚合或子查询.145 15 如果指定了 select distinct, 那么 by order of 子句中的项就必须出现在选择列表中.146 15 未能为子查询分配辅助表.超出了查询中表数目的最大值 (% 1! ).147 15 聚合不应出现在 where 子句中, 除非该聚合位于 having 子句或选择列表所包含的子查询中, 并且要对其进行聚合的列是外部引用.148 15 waitfor 所用的时间字符串 ''% 1! " 中时间语法有误.149 15 waitfor 所用的时间值 ''% 1! " 是无效值.请检查日期 / 时间语法.150 15 外联接的两项都必须包含列.151 to 15 ''% 1! " 是无效 money 值.153 15 在% 3! 语句中有% 1! 选项的无效使用.154 of 15 在% 2! 中不允许使用% 1! .155 15 ''% 1! " 不是可以识别的% 3! 选项.156 15 在关键字 ''% 1! " 附近有语法错误.157 15 聚合不应出现在 update 语句的集合列表中.159 15 对于 drop index, 必须以 tablename.indexname 的形式同时给出表名和索引名.160 15 规则不包含变量.161 15 规则包含多个变量.163 15 计算依据列表与排序依据列表不匹配.164 15 group by 表达式必须引用出现在选择列表中的列名.165 16 不能授予或废除特权% 1! .166 15 ''% 1! " 不允许将数据库名称指定为对象名前缀.167 16 不能在临时对象上创建触发器.168 of 15% 1! " % 2! " 超出了计算机表示范围 (% 4! 字节).169 15 在排序依据列表中多次指定了某一列.排序依据列表中的列必须是唯一的.170 15 第% 1! 行: 在 ''% 1! " 附近有语法错误.171 15 不能在浏览模式中使用 select into.172 15 不能在浏览模式中使用 holdlock.173 15 列 ''% 1! " 的定义中必须包括数据类型.174 15% 1! 函数要求有% 2! 个参数.177 15 仅当 select 语句中有 into 子句时, 才能使用 identity函数.178 15 在此上下文中不能使用带有返回值的 return 语句.179 15 向存储过程传递常量时不能使用 output 选项.180 15 此% 1! 语句中参数太多.参数最大数目为% 2! .181 15 不能在 declare 语句中使用 output 选项.182 15 必须为 readtext 或 writetext 实用工具提供表名和列名.183 15 列 ''% 2! " 的小数位数 (% 1! ) 必须介于% 4! 到% 5. 之间.185, 15 数据流在大容量形式下的 writetext 语句中无效.186 15 writetext 语句中缺少数据流.188 15 在 create database 语句中, 如果不同时指定至少一个非日志设备, 就不能指定日志设备.189 15% 1! 函数要求有% 2! 到% 3! 个参数.191 15 sql 语句的某些部分嵌套过深.Please rewrite the query or decompose it into several smaller queries.19216 decimal digits must be less than or equal to accuracy.19315 the object name or column name at the beginning of''%1! 'is too long. The maximum length is%3! A character.The 19415 SELECT INTO statement cannot contain the SELECT statement assigned to the variable.19515''%1!! 'is not an%3 that can be identified!.The 19615 SELECT INTO must be the first query in the SQL statement containing the UNION operator.19715 cannot use EXECUTE as a source when inserting variables into a table.The 19815 browse mode is invalid for statements containing the UNION operator.The 19915 INSERT statement cannot contain the SELECT statement assigned to the variable.The 20116 procedure''%1! 'requires parameter''%3'! ', but this parameter is not provided.20216 WAITFOR type''%1! 'invalid. The supported data types are CHAR/VARCHAR, NCHAR/NVARCHAR and DATETIME. WAITFOR DELAY also supports INT and SMALLINT data types.The 20316 name''%1!! 'is not a valid identifier.20420 a normalization error occurred in node%1.20516 all queries in the SQL statement containing the UNION operator must have the same number of expressions in the target list.20616 operand type conflict:%1! Incompatible with%2!20716 column''%1!! invalid.20816 object name''%1 '' invalid.20916 column names''%1! 'unclear.21016 syntax error when converting from binary/varbinary string to datetime.21216 the length of the expression result exceeds the maximum limit. The maximum value is%1, but the current length is%2!.21316 insert error: the column name or the number of supplied values does not match the table definition.The 21416 procedure requires the parameter''%1! ''''%2 '' type.21716 exceeds the maximum number of layers of stored procedures, functions, triggers, or views (maximum number of layers is%1!).22016 arithmetic overflow error occurred in data type%1 = value =%2!.22110 FIPS warning: implicit transformation from%1 to%2.The 22311 object ID%1! Is specified as the default value of column ID%3 in table ID%2!, but the object is missing or not the default value type.The 22411 object ID%1! Is specified as the rule of column ID%3 in table ID%2!, but the object is missing or not the default value type.22616%1 statement is not allowed in multi statement transactions.22914 rejected the%1 permissions for object''%2! \ "(database''%4! ', owner''%6!' ').23014 rejected the%1! Permissions of column''%2! \ "(database''%6! ', owner''%8!') for object''%4!!'.23111 there is no such default value. ID =%1! Database ID =%2!.23216 arithmetic overflow error of type%1! = value =%2!.The column''%1!! 'in table 23316'!''%3!! 'cannot be empty.23416, the result space is insufficient, can not convert money value to%1!.23516 cannot convert char value to money. The syntax of the char value is incorrect.23616 money overflow error caused by the conversion from char data type to money data type.23716, the result space is insufficient, can not convert money value to%1!.23816 the result space is insufficient, can't convert the%1 value (=%2!) to the money data type.24116 syntax errors from string to datetime.24216 conversion from char data type to datetime data type leads to datetime value cross boundary.24316 type%1! Is not a defined system type."24416%1! Value''%2!!" conversion overflowed the%4! Column.Please use a larger integer column.24516 syntax error when converting%1! Value''%2!! 'to a column with data type%4!."24816%1! Value''%2!!" conversion overflowed the int column. Exceeded the maximum integer value.25116 failed to allocate auxiliary tables for query optimization. Exceeded the maximum number of tables in the query (%1!).25616 data type%1! Invalid for function%2. The allowed types are: char/varchar, nchar/nvarchar, and binary/varbinary.25716 implicit conversion from data type%1 to%2 is not allowed. Use the CONVERT function to run this query.25916 a special update to the system directory is not enabled. The system administrator must reconfigure the SQL Server to allow this operation.26016 the implicit conversion from data type%1 to data type%2 is not allowed (table''%3 ', column''%5' '). Use the CONVERT function to run this query.26116''%1!! 'is not a recognized function.26216 deny%1! Permissions in database''%2!'.26316 must specify the table to choose from.26416 column name''%1 \ "\" appears many times in the list of result columns.The transaction count after 26616 EXECUTE indicates that the COMMIT or ROLLBACK TRANSACTION statement is missing. Original count =%1! Current count =%2!.26716 cannot find object''%1! ''.26816 cannot run SELECT INTO in this database. The database owner must run sp_dboption to enable this option.27016 cannot modify object''%1 ''.27116 cannot modify column''%1 '' because the column is a computed column.27216 cannot update the timestamp column.27316 cannot insert non null values in the timestamp column. Use INSERT statements with columns or timestamp columns with default values of NULL.27816 the text, ntext, and image data types cannot be used in the GROUP BY clause.27916 in this subquery or aggregation expression, text, ntext, and image data types are invalid.28016 for TEXTPTR functions, only text, ntext, and image columns are valid.28116 when%2 is converted to a string,%1 is an invalid style number.The 28210 process''%1 '' tries to return to the state value NULL, but this is not allowed. Will be returned to the state value 0.28316 within INSTEAD OF triggers, READTEXT cannot be used for inserted or deleted tables.28416 cannot bind rules to text, ntext, or image data types.28516 READTEXT, WRITETEXT, and UPDATETEXT statements cannot beused for views or functions.28616 cannot update logical tables INSERTED and DELETED.28716 triggers are not allowed to use%1.The 28816 PATINDEX function can only manipulate data types of char, nchar, varchar, nvarchar, text and ntext.Invalid property specified for 29116 CAST or CONVERT: for type''%1!! '29216, the result space is insufficient, can not convert smallmoney value to%1!.29316 cannot convert char value to smallmoney. The syntax of the char value is incorrect.29416 smallmoney overflow error caused by the conversion from char data type to smallmoney data type.29516 syntax errors from string to smalldatetime data type.29616 conversion from char data type to smalldatetime data type leads to smalldatetime value cross boundary.29816 smalldatetime overflow error caused by the conversion from datetime data type to smalldatetime data type.29916 call the function DATEADD with the wrong type%1.The 30116 query contains an outer join request that is not allowed.30316 table''%1!! 'is the internal member of the external join clause. This is not allowed if the table is also included in the normal join clause.30616 cannot compare or sort text, ntext, and image data types unless IS NULL or LIKE operators are used.The index ID%1 on the table''%2!! 'specified in the 30716 FROM clause does not exist.The index''%1!! 'on the table''%3!!' specified in the 30816 FROM clause does not exist.31116 cannot use text, ntext or image columns in the inserted table and the deleted table.31216 cannot refer to text, ntext, or image columns in the filter stored procedure.31316 the number of parameters provided for the process or function%1! Is not enough.40116 statement or expression%1! Not yet implemented.40316 for data types, operators are invalid. The operator is%1! The type is%2!.40916%1! Operation cannot use%2! Data type as parameter.41020 sorting according to the list does not exist in the first%1! Section COMPUTE clause%2!''BY''expression.41120 select the aggregate expression COMPUTE%2 without the existence of the%1 clause in the list.The 42016 text, ntext, and image data types cannot be used in the ORDER BY clause.42516 the data type%1 of the received variable is not equal to the data type%2 of column''%3'!.42616 the length of the receive variable%1! Less than the length of column''%3!! '%2!.42720 failed to load sysprocedures entries in database ID%2! Constraint ID%1.42820 failed to find the row corresponding to the constraint ID%1 in the database ID%2! In sysconstraints.42920 compile failed to find new constraint ID%1 in the database ID%2! Sysconstraints!.43020 cannot parse the table name of object ID%1 in database ID%2 when compiling foreign key.43119 failed to bind foreign key constraints. There are too many tables involved in the query.43320 failed to find the CHECK constraint of''%1 '', although the table is marked as having CHECK constraints.43620 failed to open the referenced table ID%1 in database ID%2!.43720 failed to parse referenced column names in table ID%1.43820 failed to parse reference column names in table ID%1.43920 failed to find the FOREIGN KEY constraint of table''%1 KEY 'in table ID%3!', although the table is marked as having FOREIGN constraints.44116 cannot use the''%1! 'function on the remote data source.44316 incorrect use of''%1!! 'in the function.44416 the SELECT statement contained in the function cannot return data to the client.44516 cannot use the COLLATE clause for an expression containing a COLLATE clause.44616 can't solve the collation conflict of%1! Operation.44716 expression type%1! Invalid for the COLLATE clause.44816 rule''%1 '' invalid.The 44916 collation conflicts because the sorting clause usesdifferent sorting rules''%1!! 'and'''%3! ''.45016 does not support code page conversion for text data types. From:%d to:%1!.45116 cannot resolve the collation conflict of column%1... (in%2! Statement).The 45216 COLLATE clause cannot be used to define user data types.45316 supports sorting rule''%1 '' for Unicode data types, and cannot set the collation at the database or server level.The last statement in the 45516 function must be a return statement.45616 cannot execute value from%1!The implicit transformation to%2, because the result ordering rule is not resolved because of the conflict of collation.45716 cannot perform the implicit conversion from%1 to%2 because the collation of the value cannot be resolved because of the conflict of collation.The 50216 SQL debug interface (SDI) requires that SQL Server cannot log in with system accounts when it is started as a service. Please reset the control panel to login with user account.50316 unable to connect%2! Send symbolic information to the debugger on%1. Debugging disabled.50416 unable to connect to the debugger on%1! (error = 0x%2!). Make sure that the client components have been installed and registered on%3! (such as SQLDBREG.EXE). Debugging of connection%5! Has been disabled.50516 the current user account is invoked with SETUSER. Database is not allowed.An invalid escape symbol''%1!! 'is specified in the 50616 LIKE predicate.Invalid parameter for 50716 SET ROWCOUNT. Must be nonempty and nonnegative integers.50816 unable to connect to the debugger on%1! (error = 0x%2!). Make sure that the client components have been installed and registered on%3! (such as SQLLE.DLL). Debugging of connection%5! Has been disabled.50911 not found username''%1! ''.51016 cannot create a worksheet row that is larger than the allowed maximum. Please resubmit queries with ROBUST PLAN prompt.51116 cannot create a row of size%1. This value is greater than the allowed maximum%2!.The 51216 subquery returns more than one value. When the query, followed by = =,! < < = > > =,,,, or as a sub query expression, this is not allowed.The insertion or update of the 51316 column conflicts with the rules enforced by the previous CREATE RULE statement. The statement has been terminated. The conflict occurred in the database''%1!! ', table''%3!', column''%5! ''.51416 cannot connect with debugger on%1! (error = 0x%2!). Debugging of connection%3! Has been disabled.51516 cannot insert NULL value into column''%1!! ', table''%3!'; this column does not allow null values. %ls failure.51616 attempts to initialize the OLE library failed. Please check the correct version of OLE DLL on this computer.Overflow occurs when adding value to 51716 column''%1 '.51816 cannot convert data type%1 to%2!.52016 SQL Server no longer supports SQL debug interface (SDI)%1! Version.52820 detects system errors when attempting to use the upsleep system function.52916 explicit conversions from data type%1 to%2 are not allowed.53216 timestamp (changed to%1!) indicates that other users have updated the line.53516 the difference between the two datetime columns results in a runtime overflow.53616 passed the invalid length parameter to the substring function.53816 couldn't find''%1!'. The language may have been removed. Please contact the system administrator.54216 encountered an invalid datetime value. It's worth more than 9999 years.54416 when IDENTITY_INSERT is set to OFF, explicit values cannot be inserted into the identity column in table''%1 ''.54516 when IDENTITY_INSERT is set to ON, you must specify the explicit value of the table''%1.54716%1! Statement and%2!%3! Constraint''%4!! 'conflict. The conflict occurred in the database''%6!! ',table''%8!''%10!%11!%13!.54816 the replication management scope is full and must be updated by replication agents. %1! Conflict occurs in database''%2!! ', table''%4!''%6!%7!%9!. You can callSp_adjustpublisheridentityrange to get a new identity range.55016 attempts to insert or update failed,The reason is that a view spanned by the target view or the target view specifies the WITH CHECK OPTION, and that one or more result lines of the operation do not conform to the constraints of the CHECK OPTION constraint.The 55116 checksum has been changed to%1!. This indicates that other users have updated the line.The 55215 CryptoAPI function''%1! 'failed. Wrong 0x%2!:%3!55516 user defined functions are not yet enabled.55616 because the stored procedure changes the architecture of the target table, INSERT EXEC fails.55716 only functions and extended stored procedures can execute from within the function.55816 within FUNCTION, remote function calls are not allowed.56116 access file''%1!! 'failed56216 access file''%1!! 'failed. You can only access files by sharing.The transaction of the 56314 INSERT EXEC statement has been rolled back. The INSERT EXEC operation will terminate.56416 attempts to create records with fixed length''%1 ''. The maximum allowable length is''%2!! ".56518 server encountered stack overflow during compilation.56621 write audit tracking error. SQL Server is about to close.56716 file%1! There is no or not identifiable trace file. Or error opening the file.56816 server encountered error''%1!!'.60112 cannot continue scanning in NOLOCK mode due to data movement.60221 failed to find the row corresponding to the index ID%3 in the database ID%1! Object ID%2! In sysindexes. Please run DBCC CHECKTABLE on sysindexes.60421 failed to find the row corresponding to the object ID%1 in database''%2 '' in sysobjects. Please run DBCC CHECKTABLE on sysobjects.60521 a logical page%1 trying to extract from database''%2 '! \ "belongs to object''%4!', not object''%6!! ''.60721 in the session descriptor of object''%1 \ "\", the space allocated for search parameters is insufficient. Space with only%3! Search parameters.61521 failed to find the database table of ID is%1! Name''%2!!'. 61720 trying to hash the descriptor of the object ID%1! In thedatabase ID%2!, the descriptor is not found in the hash table.61821, the VARNO parameter passed to the OpenTable system function is%1!. The maximum effective value is%2!.62216 does not assign files for file group''%1 ''. Only when you add a file, can you fill the table, index, and text, ntext, and image columns on this file group.62321 failed to retrieve rows from the page by RID, because the logical page%1 is not a data page. %2!. %4!.62421 failed to retrieve rows from the page by RID, because the requested RID is higher than the last RID value in the page. %1!. %2!, DBID%3!.62521 cannot retrieve the row by page RID from page%1, because slotid (%2!) is invalid.62616 cannot use ROLLBACK with a save point inside a distributed transaction.62716 cannot use SAVE TRANSACTION within a distributed transaction.62813 cannot send SAVE TRANSACTION when there is no active transaction.63520 process%1! Trying to delete the DES resource lock%2, but the lock is not controlled by the process.63720 index shrink program returns invalid state value 0.63921 failed to extract the logical page%1 of the database ID%2!. The page is not currently allocated."64421 failed to find the index entries of index RID''%1!" in the index page%3! (index ID%4, database''%5! '').64921 failed to find the clustered index entry (object ID%2, status 0x%3!) of page%1. The index page used to search for this entry is%4 in database''%5!'!。
在sqlserver的函数或存储过程中抛出异常(raiserror)【转载】
在sqlserver的函数或存储过程中抛出异常(raiserror)【转载】raiserror的作⽤: raiserror 是⽤于抛出⼀个错误其语法如下:RAISERROR ( { msg_id | msg_str | @local_variable }{ ,severity ,state }[ ,argument [ ,...n ] ])[ WITH option [ ,...n ] ]简要说明⼀下:第⼀个参数:{ msg_id | msg_str | @local_variable }msg_id:表⽰可以是⼀个sys.messages表中定义的消息代号;使⽤ sp_addmessage 存储在 sys.messages ⽬录视图中的⽤户定义错误消息号。
⽤户定义错误消息的错误号应当⼤于 50000。
msg_str:表⽰也可以是⼀个⽤户定义消息,该错误消息最长可以有 2047 个字符;(如果是常量,请使⽤N'xxxx',因为是nvarchar的)当指定 msg_str 时,RAISERROR 将引发⼀个错误号为 5000 的错误消息。
@local_variable:表⽰也可以是按照 msg_str ⽅式的格式化字符串变量。
第⼆个参数:severity⽤户定义的与该消息关联的严重级别。
(这个很重要)任何⽤户都可以指定 0 到 18 之间的严重级别。
[0,10]的闭区间内,不会跳到catch;如果是[11,19],则跳到catch;如果[20,⽆穷),则直接终⽌数据库连接;第三个参数:state如果在多个位置引发相同的⽤户定义错误,则针对每个位置使⽤唯⼀的状态号有助于找到引发错误的代码段。
介于 1 ⾄ 127 之间的任意整数。
(state 默认值为1)当state 值为 0 或⼤于 127 时会⽣成错误!第四个参数:argument⽤于代替 msg_str 或对应于 msg_id 的消息中的定义的变量的参数。
sql server数据库修复语句
SQL Server数据库修复语句在SQL Server中,数据库可能会遇到各种问题,比如损坏、不一致或者出现其他错误,这时就需要使用修复语句来修复数据库。
本文将介绍一些常见的SQL Server数据库修复语句,帮助大家解决数据库问题。
1. 使用DBCC CHECKDB命令检查数据库的一致性DBCC CHECKDB是SQL Server中用于检查数据库一致性的命令。
可以使用以下命令来检查指定数据库的一致性问题:```DBCC CHECKDB('数据库名')```这个命令会检查数据库对象的物理和逻辑一致性,包括索引、数据页、数据链路等内容。
如果发现问题,会输出错误信息并尝试修复。
需要说明的是,在运行此命令之前,建议先备份数据库,以免造成数据丢失。
2. 修复损坏的数据页如果DBCC CHECKDB命令检查出了数据页损坏的问题,可以使用以下语句修复:```DBCC PAGE('数据库名', 1, 数据页号, 数据页修复选项)```其中,数据页号是需要修复的数据页的页号,数据页修复选项包括3种:0表示不执行修复,1表示尝试逻辑级别的修复,2表示尝试物理级别的修复。
根据实际情况选择修复选项。
3. 使用修复命令修复数据库如果数据库无法自动修复,可以使用修复命令手动修复数据库。
修复数据库的命令如下:```DBCC CHECKDB('数据库名', REP本人R_REBUILD)```修复操作会尝试重建损坏或不一致的索引,并进行一些其他的一致性检查和修复。
但需要注意的是,该操作可能会导致数据丢失或者数据库不一致,使用前务必确认已经备份了数据库。
4. 使用备份和还原来修复数据库如果数据库问题较为严重,以上方法无法修复,可以尝试使用备份和还原来修复数据库。
需要备份数据库:```BACKUP DATABASE 数据库名 TO 磁盘路径```将备份文件还原到一个新的数据库中:```RESTORE DATABASE 新数据库名 FROM 磁盘路径```这种方法可以将数据库还原到一个较为稳定的状态,但需要注意备份和还原的时机,避免数据丢失。
sqlserver还原数据库时提示数据库正在使用,无法进行操作的解决方法
sqlserver还原数据库时提⽰数据库正在使⽤,⽆法进⾏操作的解决⽅法这个问题的原因在于有⽤户连接了当前要做还原的数据库,这⾥的⽤户甚⾄包括当前要做还原的⽤户。
解决办法就是关闭与要还原数据库的所有连接。
⼩编推荐的⼀个⽅法:到服务⾥⾯重启下sqlserver服务即可。
问题⼀描述:SQL Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样问题⼆描述:在对SQL Server数据库进⾏还原时,提⽰:System.Data.SqlClient.SqlError:因为数据库正在使⽤,所以⽆法获得对数据库的独占访问权。
(Microsoft.SqlServer.Smo)。
出现此问题的原因是在还原数据库时,有其他⽤户正在使⽤数据库。
还原数据库要求数据库⼯作在单⽤户模式。
通常就是DBA在操作时,不允许其他⽤户连接数据库。
问题⼀解决办法:右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Multiple -> 确定。
问题⼆解决办法:⽅法⼀(最⽅便):右键点击数据库 -> 属性 -> 选项 -> 状态 -> 限制访问 -> 选择Single-> 确定。
然后还原。
⽅法⼆(最直接):断开数据库连接⽅法三(最暴⼒):注销/重启数据库服务器⽅法四(最⿇烦):写代码修改数据库相关属性,虽然⿇烦,有的时候还是要⽤到,那就⽤到的时候再研究。
①先切换数据库到master数据库。
执⾏语句select * from master..sysprocesses where dbid=db_id( '数据库名称')②然后逐步运⾏语句 exec kill spid(上⼀步结果集中的数据),问题就解决了。
哈哈今天在还原数据库的时候,提⽰"因为数据库正在使⽤,所以⽆法获得对数据库的独占访问权",⽆论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题。
read timed out sqlserverexception
read timed out sqlserverexception
标题:解读“read timed out sqlserverexception”错误
引言概述:
在使用SQL Server数据库时,有时候会遇到“read timed out sqlserverexception”错误。
这个错误通常表示在读取数据库时发生了超时。
本文将详细解读这个错误,包括其原因、解决方法以及预防措施。
正文内容:
1. 错误原因
1.1 数据库连接超时
1.2 数据库响应时间过长
1.3 网络连接不稳定
2. 解决方法
2.1 增加数据库连接超时时间
2.2 优化数据库查询语句
2.3 检查网络连接稳定性
3. 预防措施
3.1 定期监控数据库性能
3.2 优化数据库索引
3.3 使用合适的数据库连接池
4. 总结
4.1 错误原因可能是数据库连接超时、数据库响应时间过长或网络连接不稳定。
4.2 解决方法包括增加数据库连接超时时间、优化数据库查询语句和检查网络连接稳定性。
4.3 预防措施包括定期监控数据库性能、优化数据库索引和使用合适的数据库连接池。
总结:
“read timed out sqlserverexception”错误是在使用SQL Server数据库时可能会遇到的错误。
了解错误的原因、解决方法和预防措施对于保证数据库的正常运行非常重要。
通过增加连接超时时间、优化查询语句和检查网络连接稳定性,可以有效解决这个错误。
同时,定期监控数据库性能、优化数据库索引和使用合适的数据库连接池也是预防这个错误的重要措施。
SQL Server数据库连接失败错误及解决方法
SQL Server数据库连接失败错误及解决方法在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。
一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。
下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。
一、客户端工具连接失败在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些:1、SQL Server 不存在或访问被拒绝ConnectionOpen (Connect())2、用户'sa'登录失败。
原因:未与信任SQL Server 连接相关联。
3、超时已过期。
下面我们依次介绍如何来解决这三个最常见的连接错误。
第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
sqlserver数据库连接错误解决方案
日志总结项目搭建一、项目搭建:1、先把所需的jar全部找到,导入lib中。
2、把数据库的驱动包(所需包根据所选数据库而定)导入。
3、设置配置文件4、建立测试类二、项目搭建,测试时的错误:ng.IllegalStateException: Failed to load ApplicationContextCaused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext-common.xml]: Invocation of init method failed; nested exception is ng.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext-common.xml]: Invocation of init method failed; nested exception is ng.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z Caused by: ng.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z 解决方案:Caused by: ng.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z 解决了,原来是JDBC驱动不行,上面红线部门讲的SQL SERVER2000的驱动名,换成JTDS驱动就解决了数据库为sqlserver 2000,数据库的驱动包原来的驱动包是:msbase.jar、mssqlserver.jar、msutil.jarJTDS驱动包是:jtds-1.2.5.jar要点:原来的数据库URL:原来的驱动类:JTDS数据库URL:jdbc:jtds:sqlserver://localhost:1433;DatabaseName=数据库名驱动类:net.sourceforge.jtds.jdbc.Driver。
mybatis sqlserver存储过程返回参数
mybatis sqlserver存储过程返回参数【原创实用版】目录1.MyBatis 简介2.SQL Server 存储过程简介3.MyBatis 调用 SQL Server 存储过程的方法4.存储过程返回参数的使用5.示例代码正文MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 可以使用简单的 XML 或注解进行配置和原生映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
SQL Server 存储过程是一组预编译的 T-SQL 语句,用于执行特定的任务。
它可以包含输入参数、输出参数和返回值。
在 SQL Server 中,存储过程可以减少网络流量、提高性能、封装复杂的业务逻辑等。
MyBatis 可以通过 SqlSession 对象调用 SQL Server 存储过程。
以下是一个简单的示例,展示如何使用 MyBatis 调用 SQL Server 存储过程:```javaSqlSession sqlSession =sqlSessionFactory.openSession(ExecutorType.BATCH);MybatisSqlServer sqlServer =sqlSession.getMapper(MybatisSqlServer.class);// 调用存储过程List<Object[]> result =sqlServer.selectAllEmployeesByCondition(1, 100, "张三", 25);// 处理返回的结果集for (Object[] row : result) {System.out.println(row);}mit();sqlSession.close();```在上述示例中,我们调用了一个名为`selectAllEmployeesByCondition`的存储过程。
SQLServer安装使用报错及解决方案
SQLServer安装使用报错及解决方案在SQLServer的安装和使用过程中,可能会遇到一些报错信息,这些问题需要及时解决才能顺利进行数据库的操作。
本文将介绍一些常见的SQLServer安装使用报错,并提供相应的解决方案,帮助读者更好地应对这些问题。
一、无法安装SQLServer在安装SQLServer过程中,有时会出现无法继续安装的情况。
这可能是由于操作系统版本不兼容、安装文件损坏或其他原因引起的。
解决此问题的方案如下:1.检查操作系统版本:确保所使用的操作系统版本与SQLServer的系统要求相匹配。
2.重新下载安装文件:如果安装文件损坏,可尝试重新下载安装文件,并确保下载的文件完整可用。
3.运行安装程序时使用管理员权限:右键点击安装程序,选择“以管理员身份运行”以确保安装过程中拥有足够的权限。
二、无法连接到SQLServer在使用SQLServer时,可能会遇到无法连接到数据库的问题。
这可能是由于网络配置、服务未启动或防火墙设置等原因引起的。
以下是解决此问题的一些常见方法:1.检查网络配置:确保网络连接正常,数据库服务器所在的IP地址、端口号、实例名等配置信息正确。
2.确保SQLServer服务已启动:在Windows服务中,找到SQL Server服务并确认其状态为“运行中”。
3.检查防火墙设置:确保防火墙未阻止数据库连接请求,可在防火墙设置中配置允许使用的端口。
三、数据库文件损坏有时,在使用SQLServer时,数据库文件可能会损坏,导致无法正常读取或写入数据。
以下是一些解决此问题的方法:1.运行数据库维护工具:SQLServer提供了一些内置的维护工具,如SQL Server Management Studio,可用于修复损坏的数据库文件。
2.还原备份文件:如果有可用的备份文件,可以使用SQLServer的还原功能将备份文件还原到正常状态。
3.使用修复命令:SQLServer提供了一些修复命令,如DBCC CHECKDB,可用于检查和修复损坏的数据库文件。
sqlserver常见错误说明
sqlserver常见错误说明SQLerver常见错误一、常见错误'用户'a'登录失败。
该用户与可信SQLServer连接无关联,做JSP项目连接数据库今天做JSP项目连接数据库,结果报错,出错的原因是:'用户'a'登录失败。
该用户与可信SQLServer连接无关联'.今天上网上查了半天还是搞不定,最后经过网上和书上的汇总,具体的方法是:1:打开SQLServerManager管理器!在左面找到‘安全性’单击右键选择‘新建”,“登录”弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。
点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。
然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。
弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQLSERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!3:重新启动服务就可以选择SQLSERVER身份验证模式登录了!结果找了网上所有方法还是没用,最后发现还是出现在着急上忘记启动服务器,关键时刻,就是不冷静各位不要学我啊切记:一定要把SQL2005服务重启才生效。
找了几种方法与大家参考SQLServer2005常见错误及解决方案问题一、忘记了登录MicrooftSQLServer2005的a的登录密码解决方法:先用window身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘a’-‘属性’,修改密码点击确定就可以了。
SQLServer导入数据报错无法在只读列“Id”中插入数据,几百个表怎么批量启用启用标识插入选项
SQLServer导⼊数据报错⽆法在只读列“Id”中插⼊数据,⼏百个表怎么批量启⽤启⽤标识插⼊选项SQL Server导⼊数据报错"⽆法在只读列“Id”中插⼊数据",⼏百个表怎么批量启⽤'启⽤标识插⼊'选项SQL Server在导⼊数据时,因为很多主键的⾃增量不允许编辑,所以会报错"⽆法在只读列“Id”中插⼊数据"。
具体错误描述:- 正在验证 (错误)消息错误 0xc0202049: 数据流任务 1: ⽆法在只读列“Id”中插⼊数据。
(SQL Server 导⼊和导出向导).......错误 0xc004706b: 数据流任务 1: “⽬标 - T_News”验证失败,返回的验证状态为“VS_ISBROKEN”。
(SQL Server 导⼊和导出向导)解决⽅法:出现该问题的原因是表中含有⾃动增长的标识列,需要再"编辑映射"中勾选"启⽤标志才插⼊"。
扩展:如果在导出数据时,有⼏百个表怎么批量启⽤'启⽤标识插⼊'选项呢?解决⽅法:可以全选或者选中多个,再去点‘编辑映射’。
建议是全选。
特别注意,这⾥的全部,不是指的前⾯的勾选,⽽是⼀⾏⾏整⾏选择;建议单击第⼀⾏,拉到最下⽅,按住Shift键再点击最后⼀⾏,这就是全选了。
-- 默认选择:复制⼀个表和多个表或视图的数据,下⼀步;-- 在[选择源表和源视图]1 -- 注意,这⾥只选表,不能选视图和存储过程(否则将都会变成表);-- [选择源表和源视图]2 -- Shift选择后,勾⼀个即可;勾选后, "编辑映射",勾选启⽤标识插⼊和删除现有⽬标表中的⾏,确定,下⼀步。
············。
SQLServer错误代码及解释(二)
SQLServer错误代码及解释(⼆)2001 指定的驱动程序⽆效。
2002 窗⼝样式或类别属性对此操作⽆效。
2003 不⽀持请求的图元操作。
2004 不⽀持请求的变换操作。
2005 不⽀持请求的剪切操作。
2010 指定的颜⾊管理模块⽆效。
2011 制定的颜⾊⽂件配置⽆效。
2012 找不到指定的标识。
2013 找不到所需的标识。
2014 指定的标识已经存在。
2015 指定的颜⾊⽂件配置与任何设备都不相关。
2016 找不到该指定的颜⾊⽂件配置2017 指定的颜⾊空间⽆效。
2018 图像颜⾊管理没有启动。
2019 在删除该颜⾊传输时有⼀个错误。
2020 该指定的颜⾊传输⽆效。
2021 该指定的变换与位图的颜⾊空间不匹配。
2022 该指定的命名颜⾊索引在配置⽂件中不存在。
2102 没有安装⼯作站驱动程序。
2103 ⽆法定位服务器。
2104 发⽣内部错误,⽹络⽆法访问共享内存段。
2105 ⽹络资源不⾜。
2106 ⼯作站不⽀持这项操作。
2107 设备没有连接。
2108 ⽹络连接已成功,但需要提⽰⽤户输⼊⼀个不同于原始指定的密码。
2114 没有启动服务器服务。
2115 队列空。
2116 设备或⽬录不存在。
2117 ⽆法在重定向的资源上执⾏这项操作。
2118 名称已经共享。
2119 服务器当前⽆法提供所需的资源。
2121 额外要求的项⽬超过允许的上限。
2122 对等服务只⽀持两个同时操作的⽤户。
2123 API 返回缓冲区太⼩。
2127 远程 API 错误。
2131 打开或读取配置⽂件时出错。
2136 发⽣⼀般⽹络错误。
2137 ⼯作站服务的状态不⼀致。
重新启动⼯作站服务之前,请先重新启动计算机。
2138 ⼯作站服务没有启动。
2139 所需信息不可⽤。
2140 发⽣ Windows 2000 内部错误。
2141 服务器没有设置事务处理。
2142 远程服务器不⽀持请求的 API。
2143 事件名⽆效。
2144 ⽹络上已经有此计算机名。
sqlserver存储过程不定个参数
SQL Server存储过程数组参数2013-04-15 14:23:31 我来说两句作者:orz_men收藏我要投稿SQL Server存储过程数组参数SQL Server存储过程不支持数组参数类型,要传递数量不定的参数,需要采用其他方式进行传递方法一:利用字符串截取拆分数组字符串-- =============================================-- Author:<lx>-- Create date: <2010-11-26>-- Description: <存储过程数组参数>-- 方法一:利用字符串截取拆分数组字符串-- =============================================CREATE PROCEDURE SP_ParameterArray@UserName VARCHAR(10),@StrArray VARCHAR(800)ASDECLARE @P INTDECLARE @C INTDECLARE @Nums INTSET @P=1SET @C=1BEGIN TRANSACTIONSet NOCOUNT ONCREATE TABLE #t_info(UserName VARCHAR(10),Nums INT)SET @C=CHARINDEX(',',@StrArray,@P+1)SET @Nums=CAST(SUBSTRING(@StrArray,@P,@C-@P) AS INT)INSERT INTO #t_info(UserName,Nums) VALUES(@UserName,@Nums)SET @P=@CWHILE (@P+1< LEN(@StrArray))BEGINSET @C=CHARINDEX(',',@StrArray,@P+1)IF(@C> 0)BEGINSET @Nums=CAST (SUBSTRING(@StrArray,@P+1,@C-@P-1) AS INT)INSERT INTO #t_info(UserName,Nums) VALUES(@UserName,@Nums)SET @P=@CENDELSEBREAKENDSET @Nums=CAST(SUBSTRING(@StrArray,@P+1,LEN(@StrArray)-@P) AS INT)INSERT INTO #t_info(UserName,Nums) VALUES(@UserName,@Nums)SELECT * FROM #t_infoDROP TABLE #t_infoSET NOCOUNT OFFIF @@ERROR=0BEGINCOMMIT TRANSACTIONENDELSEBEGINROLLBACK TRANSACTIONENDGO方法二:利用OpenXML 效率更高-- =============================================-- Author:<lx>-- Create date: <2010-11-26>-- Description: <存储过程数组参数>-- 方法二:利用OpenXML 效率更高-- @XML_Array='<Array><PA Nums="1"></PA><PA Nums="2"></PA><PA Nums="3"></PA><PANums="4"></PA></Array>'-- =============================================CREATE PROCEDURE [dbo].[SP_ParameterArray2]@UserName VARCHAR(10),@XML_Array nvarchar(500)ASBEGINIF (@XML_Array IS NULL OR LEN(LTRIM(RTRIM(@XML_Array))) = 0) RETURNCREATE TABLE #t_info(UserName VARCHAR(10),Nums INT) DECLARE @IdHandel INTEXEC sp_xml_preparedocument @IdHandel OUTPUT, @XML_Array INSERT INTO #t_info(UserName,Nums)SELECT @UserName,N.NumsFROM OPENXML(@IdHandel,'/Array/PA') WITH(Nums INT) AS N WHERE N.[Nums] IS NOT NULLEXEC sp_xml_removedocument @IdHandelSELECT * FROM #t_infoDROP TABLE #t_infoEND。
_SQL Server_8525_SQL Server数据库引擎错误 (分布式事务已完成。请将此会话登记到新事务或 NULL 事务中)
IT资讯搜索
赛迪网
IT产品搜索
产品分类
[Java论坛][安全论坛][数据库论坛][操作系统论 ·
坛]
[推荐] 江民安全专家永久免费 立即下载 RSA ·
2010
[专题] 参与多核UTM调查 赢购物卡 谷歌遭攻击事 ·
件
·[IT技术周刊][IT资源下载专区][病毒求助专区] ·[热点] 《拆弹部队》藏木马 看Xbox360与PS3背后秘密 ·[热点] 报告:PDF漏洞远超微软 十款免费电子邮件程序
FOR XML AUTO,ELEMENTS
结果对于单条数据的处理不会再出现该提示,不过对于并发执行过程中,发现有死锁回滚现象。可能 语句的其它地方写的有问题。
简单分析。出现“分布式事务已完成。请将此会话登记到新事务或 NULL 事务中”错误是在数据库这 一层处理出现,在BizTalk Server 的业务流程中发起了一个分布式事务,而该分布式事务调用的存储过程 刚好又包含有自己的事务,那该事务就变成了内嵌事务。在出现DeadLock的情况下,会RollBACK所有事 务。在网上搜索了一下,在程序调试过程中访问SQL Server出现该错误还是比较常见。
查了一下MSDN文档,属于“MSSQLSERVER_8525”数据库引擎错误。MSDN描述了在什么样的情况下会碰 到“MSSQLSERVER_8525”错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java web中调试时出现:ids for this class must be manually assigned before calling save()..如何
解决:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned befo re calling save():
引起问题的原因:
由Hibernate根据数据库表自动生成的"类名.hbm.xml"映射文件引起的。
首先我的表(Info)由两个字段组成,即:
int id;//主建
String name;
(自己做测试,所以就简单的建了个表)
由Hibernate生成的Info.hbm.xml中是这样写的:
-----------------------------------------------------
<id name="id" type="ng.Integer">
<column name="id" />
<generator class="assigned"/>
</id>
-----------------------------------------------------
<id>这个是必须有的。
它是用来定义实体的标识属性(对应数据库表的主键)
而我这里由于id本身就是主键,所以column的属性便是id
下面是很关键的一点<generator>,由于一时兴趣,于是找了很多资料,关于它的解释是:用于指定主键的生成策略。
它的值有多,下面是转来的:
--------------------------------------------------------------------------------
“assigned”
主键由外部程序负责生成,在save() 之前指定一个。
“hilo”
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。
“seqhilo”
与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的Sequence,适用于支持Sequence 的数据库,如Oracle。
“increment”
主键按数值顺序递增。
此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。
这种方式可能产生的问题是:不能在集群下使用。
“identity”
采用数据库提供的主键生成机制。
如DB2、SQL Server、MySQL 中的主键生成机制。
“sequence”
采用数据库提供的sequence 机制生成主键。
如Oralce 中的Sequence。
“native”
由Hibernate 根据使用的数据库自行判断采用identity、hilo、sequence 其中一种作为主键生成方式。
“uuid.hex”
由Hibernate 基于128 位UUID 算法生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
“uuid.string”
与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在PostgreSQL 数据库中。
“foreign”
使用另外一个相关联的对象的标识符作为主键。
--------------------------------------------------------------------------------
看了上面的介绍,再看看代码,原来是<Generator>属性设置有问题。
然后改为"identity"、"native"问题便解决。