为什么在相反的情况下我们不能在函数内执行存储过程?
我的问题是:我有可能将大文件存储在SQL Server 2008上的二进制(图像)字段中(> 1GB).
如果我使用常规select语句返回整个二进制文件,则查询需要一分多钟才能将结果返回到我的.NET程序并且我的客户端应用程序超时.我正在寻找的是TSQL代码,它将限制返回的数据大小(可能是300mb),允许我迭代剩余的块并防止超时.
这必须发生在SQL查询中,而不是在返回数据后的处理中.
我已经尝试过SubString,MS说它可以处理二进制数据,但我得到的最多只有8000字节.我试过的最后一件事看起来像这样:
select substring(Package,0,300000000) 'package', ID from rplPackage where ID=0
--where package is the huge binary stored in a image field
Run Code Online (Sandbox Code Playgroud)
由于客户端应用程序,数据流也不是一个真正的选项.
有任何想法吗?
我在a JFreeChart中创建了一个ChartPanel,我想以编程方式保存它.该功能应该存在,因为可以手动执行此操作(右键单击菜单和PNG选项).
我找到了方法chartPanel.createImage(??, ??),但我不知道width和height我需要设置.
我已经获得这些例外数周而没有解决方案......
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功收到的最后一个数据包是179,695,604毫秒前.
成功发送到服务器的最后一个数据包是179,695,604毫秒之前.比服务器配置的'wait_timeout'值长.您应该考虑在应用程序中使用之前到期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector/J连接属性'autoReconnect = true'来避免此问题
所以我已经改变了我的应用程序的Context.xml,以便autoReconnect=true在Tomcat 7中为我的数据库设置连接池的标签.我甚wait_timeout至在上下文文件中设置为无穷大.
我错过了什么?这是个常见的问题吗?它似乎在网上有少量信息,但是当我按照这些指南时,在一段时间不活动后的第二天也会发生同样的事情.
我使用服务器越多,发生的情况就越少.我认为它是池连接的到期,但如果wait_timeout失败,如何阻止它们到期?有关如何诊断问题或配置文件的任何想法?
FOR XML PATH ('')在SQL Server中连接行时,该子句如何工作?
我只想解释该FOR XML PATH ('')条款的工作原理......
例如master.sys.master_files列出所有数据库的所有文件。它还列出data_space_id哪些映射到文件组。
但是该master.sys.filegroups表只列出了master数据库使用的文件组。是否有这样一个表,我可以在其中获取所有数据库中的所有文件组?
我想将 a 的结果FULL OUTER JOIN用作FULL OUTER JOIN另一个表的表。我应该使用什么语法?
例如:T1、T2、T3 是我的带有 id、name 列的表。我需要类似的东西:
T1 FULL OUTER JOIN T2 on T1.id = T2.id ==> Let this be named X
X FULL OUTER JOIN T3 on X.id = t3.id
Run Code Online (Sandbox Code Playgroud)
我希望实现这一点,以便在最后的 ON 子句中,我希望 T3.id 匹配T1.id或T2.id。任何替代方法也可以。
BULK INSERT [Alldlyinventory]
FROM 'C:\Users\Admin\Documents\2NobleEstates\DATA\Download\Output\test.txt'
WITH (FORMATFILE = 'C:\SQL Data\FormatFiles\test.xml');
Run Code Online (Sandbox Code Playgroud)
格式文件:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharFixed" LENGTH="8" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="2" xsi:type="CharFixed" LENGTH="7" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="CharFixed" LENGTH="4" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="CharFixed" LENGTH="1" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="5" xsi:type="CharFixed" LENGTH="10" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="DAY_NUMBER" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="2" NAME="LCBO_NO" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="LOCATION_NUMBER" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="LISTING_STATUS" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="5" NAME="QTY_ON_HAND" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>
Run Code Online (Sandbox Code Playgroud)
但我在SQL Server 2014上收到以下错误:
消息4832,级别16,状态1,行1批量加载:在数据文件中遇到意外的文件结尾.消息7399,级别16,状态1,行1链接服务器"(null)"的OLE DB提供程序"BULK"报告错误.提供商未提供有关错误的任何信息.消息7330,级别16,状态2,行1无法从OLE DB提供程序"BULK"获取链接服务器"(null)"的行.
这是一个固定宽度导入.
示例txt:
2016032803170570371L 000000014
2016032803367430371L 000000013
2016032803403800371L 000000036 …Run Code Online (Sandbox Code Playgroud) 我有一个使用QuickFIX / J编写的与彭博服务器连接的应用程序。最近,彭博社向其服务器添加了CA证书验证,并且它们还提供了用于握手的其他CA证书文件。
我的应用程序使用SSL连接,并且在从Bloomberg端禁用CA证书验证时,应用程序成功连接到服务器并获取消息。启用CA验证时,握手失败。
以下是我尝试的步骤。
ImportKeyJava类添加证书和密钥。我将其更改为添加多个证书。如果需要,我可以发布Java类。在应用程序级别需要更改什么吗?组态?还是在Java密钥库级别有什么要做?
在下面添加连接时出现错误消息:
20160823-06:04:15,FIX.4.4:XXXX-> XXXX,错误>(正在断开连接:套接字异常(/XXXX.XXXX.XXX.XX:20237):javax.net.ssl.SSLHandshakeException:SSL握手失败。)成功注销sessionId:FIX.4.4:XXXX-> XXXX
任何帮助表示赞赏!
配置:
[default]
# Settings which apply to all the Sessions.
ConnectionType=initiator
LogonTimeout=86400
ResetOnLogon=Y
UseDataDictionary=Y
MaxLatency=240
#StartTime=00:00:00
#EndTime=00:00:00
#StartTime=02:30:00
#EndTime=12:30:00
StartTime=02:21:00
EndTime=12:21:00
HeartBtInt=30
ReconnectInterval=5
[session]
# Settings specifically for one session
BeginString=FIX.4.4
SocketConnectHost=xxx.xxx.xxx.xxx
SocketUseSSL=Y
SocketKeyStorePassword=importkey
CheckLatency=N
#SendResetSeqNumFlag=Y
# new setups
FileLogHeartbeats=Y
##----- CAPS Configuration ---------##
FileStorePath=/etc/bloomburg-live/msgs
FileLogPath=/etc/bloomburg-live/logs
DataDictionary=/etc/bloomburg-live/conf/FIX44.xml
SocketKeyStore=/root/.keystore
TargetCompID=BLPSTP
SocketConnectPort=xxxxx
SenderCompID=CAPSTP
# log configuration
FileIncludeMilliseconds=Y
FileIncludeTimeStampForMessages=Y
ScreenLogShowHeartBeats=Y
#Filter heartbeats from output (both incoming and …Run Code Online (Sandbox Code Playgroud) 我可以重新启动运行以下 Java 代码的整个 WildFly 服务器。但我只想重新加载一个名为“test.war”的部署。怎么可能呢?
public void flushall() throws IOException {
Runtime.getRuntime().exec(
"cmd /c start C:\\wildfly\\bin\\jboss-cli.bat --connect /subsystem=datasources/data-source=FirebirdPool/:flush-all-connection-in-pool "
);
}
Run Code Online (Sandbox Code Playgroud) sql-server ×5
t-sql ×4
java ×3
sql ×2
bcp ×1
blob ×1
bulkinsert ×1
for-xml-path ×1
impala ×1
jfreechart ×1
quickfixj ×1
server ×1
sql-function ×1
ssl ×1
tomcat7 ×1
ubuntu-14.04 ×1
wildfly ×1