我需要确定我正在运行我的 sql 的当前数据库服务器名称,以便我可以根据环境执行某些特定步骤。
有人知道怎么做吗?
数据库服务器从 12.5x 版迁移到 15.03 版 Sybase.Data.AseClient 版 - 1.15.50.0
当我通过 .Net 应用程序运行几个存储过程时,我遇到了异常(使用 AseClient)
内部错误:30016 Unknown Dataitem Dataitem 堆栈跟踪 - 在 Sybase.Data.AseClient.AseDataReader.CheckResult(Int32 res) 在 Sybase.Data.AseClient.AseDataReader.RetrieveNextResult() 在 Sybase.Data.AseClient.AseDataReader.GetNextResult() 在 Sybase.Data.AseClient.AseDataReader.NextResult() 在 Sybase.Data.AseClient.AseDataReader.CloseUrsHandle() 在 Sybase.Data.AseClient.AseDataReader.Close() 在 Sybase.Data.AseClient.AseDataReader.Dispose(Boolean disposing) 在 Sybase.Data.AseClient.AseDataReader.Dispose() 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand 命令, CommandBehavior 行为) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand 命令, CommandBehavior 行为) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) 在 HSBC.STPMapper.SybaseDAL.Utilities.SybaseHelper.ExecuteDataset(CommandType commandType, String commandText, DataSet dataset, String table, AseParameter[] …
我是 hibernate 的新手,并尝试使用 hibernate 执行从 Java 文件到 Sybase DB 的过程。当我尝试运行该应用程序时,我收到如下错误
存储过程“dbo.p_chklist_test”只能在非链式事务模式下运行。“SET CHAINED OFF”命令将导致当前会话使用非链接事务模式。
我已经检查了几个论坛,并通过运行以下命令将模式设置为“任何模式”。sp_procxmode p_chklist_test, "任意模式"
另外,我在休眠状态下将自动提交设置为 False。
现在我收到了如下所示的不同错误
Caused by: org.hibernate.exception.GenericJDBCException: could not execute native bulk manipulation query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:198)
at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1191)
at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:357)
at com.lcit_release.server.dao.ReleaseItemDao.searchRecordsNew(ReleaseItemDao.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy8.searchRecordsNew(Unknown Source)
at com.lcit_release.server.logic.ReleaseItemLogic.searchExisting(ReleaseItemLogic.java:147)
at com.lcit_release.server.adapter.ReleaseItemLogicAdapter.search(ReleaseItemLogicAdapter.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597) …Run Code Online (Sandbox Code Playgroud) 我在 sybase 中有一个表,它有 7 列。
第六列有一个新行作为所有值中的最后一个字符。当我导出表时,这个换行符弄乱了输出。如何从此列中的所有值中删除换行符?
我有一个需要使用的多数据库设置,并且两者都有自己的 bcp 版本,它们的行为方式不同。此外,两者都在我的 %PATH% 中,并且 Sybase 一个列在 MS SQL exe 之前,因此从命令行调用“bcp”总是会命中 Sybase exe。
首先,版本是“不同的”:
Sybase BCP: Sybase CTBCP Utility/15.0/P-EBF17890 ESD #24/PC Intel/BUILD1500-123/OPT/Thu May 13 02:45:43 2010(适用于 Adaptive Server Enterprise/15.7/EBF 23008 SMPRS SP1600P /AIX 6.1/ase157sp13x/3819/64-bit/FBO/Sat Aug 23 02:49:06 2014)
MS SQL BCP: 版本:11.0.2100.60(查询命中 SQL 2008 R2 和 2012 SP3 dbs)
他们绝对不会以相同的方式处理文件的输出,并且每个文件的文档都显示了这一点。我在 bcp 上读到的所有内容都说 bcp 在 Sybase 和 MS SQL 之间的工作方式应该相同,但我必须调用完整的 MS SQL bcp.exe 路径来调用 MS SQL 的查询输出,因为 Sybase bcp 不以相同的方式支持查询输出。
我的过程使用批处理脚本调用多个查询,这些查询命中 Sybase DBS,然后 MS SQL 数据库将数据输出到暂存数据库,我是否总是必须区分 Sybase 和 MS SQL bcp,还是我可以只使用一个而没有问题?如果是这样,哪个是“正确”的使用(不是试图在这里引发关于哪个更好的辩论)。此外,我没有看到任何表明版本号有任何关系的东西,所以知道哪个是“最新的”并且使用那个是很困难的。
sap-ase ×5
sql ×2
bcp ×1
database ×1
hibernate ×1
java ×1
regex ×1
sql-server ×1
stack-trace ×1
sybase ×1