我有一个远程SQL Server,其中包含我用来连接的主机名.
BCP建议使用
bcp DBName.dbo.tablename in C:\test\yourfile.txt -c -T -t
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试此操作时,它不会连接到DBName,因为它不是有效的别名.我得到原生错误2.
如何运行BCP但指定要连接的Internet /网络地址,而不是MSSQL服务器名称?
我一直在搜索这几个小时,无法弄清楚这个问题.有人可以帮我这个吗?我在VB.NET 2010中执行SQLXMLBULKLOAD时遇到上述错误.我已尝试更改我的xml声明,我的架构属性,并且无法通过此错误.这似乎是微不足道的,但我无法弄清楚.请帮忙
<?xml version="1.0" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Employees" sql:is-constant="1">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="Employee" sql:relation="the_Employees">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<!--<xsd:element name="id" type="xsd:integer" />-->
<xsd:element name="EmployeeID"sql:field="EmpNo">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="FirstName"sql:field="FirstName">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Run Code Online (Sandbox Code Playgroud) 这是在以下位置发布的问题的延续: 将Bean列表传递给oracle存储过程的Java程序 - 一次性传递整个列表而不是一个接一个地追加对象
我一直在尝试增强上面链接位置中提到的存储过程,并在实现中感到困惑.而不是VARCHAR2作为过程的输出,我现在想要返回NUM_ARRAY作为过程的输出.能帮我实现逻辑,在我的java代码中读取NUM_ARRAY.通常使用Map out = super.execute(inParams)返回输出; 我现在如何将NUM_ARRAY提取到我的bean?
The source code implementation is as follows.
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import oracle.jdbc.OracleTypes;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;
import org.apache.log4j.Logger;
import org.springframework.jdbc.core.SqlOutParameter;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.core.SqlTypeValue;
import org.springframework.jdbc.object.StoredProcedure;
public class RevPrdBrkDwnSP extends StoredProcedure{
private final Logger log = Logger.getLogger(this.getClass().getName());
public RevPrdBrkDwnSP(DataSource dataSource, String storeProcName) {
// Run the Parent
super(dataSource, storeProcName);
// Declare the Parameter Details
declareParameter(new SqlParameter("IN_ARRAY", OracleTypes.ARRAY, "****.PROD_PRCT_BRKDWN_TYPE_ARRAY"));
declareParameter(new SqlOutParameter("OUT_ARRAY", OracleTypes.ARRAY, "****.PROD_PRCT_BRKDWN_TYPE_ARRAY")); …Run Code Online (Sandbox Code Playgroud) 我创建了一个Cassandra列族,我需要从该列族的CSV文件中加载数据.csv文件的容量为15 Gb.
我正在使用CQL'COPY FROM'命令,但这需要很长时间才能加载数据.从csv文件向Cassandra加载大量数据的最佳/最简单方法是什么?
我想将数据上传到雪花表中。雪花表有一个带有 AUTOINCRMENT 的主键字段。
当我尝试将数据上传到没有主键字段的雪花时,我收到以下错误消息:
COPY 失败并出现错误:文件 (2) 中的列数与相应表 (3) 的列数不匹配,使用文件格式选项 error_on_column_count_mismatch=false 忽略此错误
有谁知道我是否可以将数据批量加载到具有自动增量主键的表中?
诺泽
正如问题所述,两者在性能方面有何不同,哪种情况更好?
或者这两个有同样的效果吗?如果适用,每种方法的优缺点是什么?
根据我的理解,重建索引也会导致其重建类似于收集统计数据(11g)
如何禁用和重新启用索引?它是否也会自动收集统计数据?
请注意,我问的是需要进行大量批量插入/更新的心态
非常感谢
我正在尝试执行Postgres COPY命令.
COPY warehouse_terminal.test_table FROM 'C:\file.csv' DELIMITERS E'\t'
CSV HEADER QUOTE E'\"' ESCAPE E'\\' NULL AS '';
Run Code Online (Sandbox Code Playgroud)
问题是,我要使用它的db是远程的,文件"file.csv"在我的本地机器中C:\.结果,不读取文件.
远程数据库,但本地文件.我怎样才能使这个工作?
有什么方法可以确定 Postgres 从 csv 文件填充表所需的时间。我尝试使用“时间”命令,但它不起作用。
time copy TABLE_NAME from /home/ankit/Documents/file.csv delimiter ',' csv header ;
Run Code Online (Sandbox Code Playgroud)
错误是:
ERROR: syntax error at or near "time“
我使用的是Ubuntu 16.04
使用OPENROWSET功能在查询中对文本文件加入数据.
利用@gbn关于这个问题的答案,我试图打开一个像OP一样的行集; 虽然文件的格式有点不同.但是,我尝试访问共享文件夹时出现以下错误:
Msg 4861,Level 16,State 1,Line 1
无法批量加载,因为无法打开文件"\ MACHINENAME\Share\EC04.txt".操作系统错误代码5(访问被拒绝.).
请理解,我不和会不会有访问SQL服务器,所以我不能把一个文件存在.
该文件驻留在Windows 7 x64计算机上.
该文件夹已Read/Write与之共享Everyone.
有人可以帮我理解我需要提供哪些其他安全性才能允许SQL服务器访问此文件夹?
sql-server bulk-load sql-server-2008 sql-server-2008-r2 network-security
很抱歉,如果之前有过类似的问题(我搜索过但找不到任何有用的东西).
我有一个表格,其中包含数据传输的详细信息.其中一个字段是与传输相关联的IP.我需要开发一个查询,它将获得表格中与79个IP中的一个匹配的记录的子集(表中有608个不同的IP).我有一个文件,其中所需的IP由换行符分隔.有没有办法开发一个查询这个IP文件的查询来获取所需的记录而不是我手动输入由"或"分隔的每个IP?
根据慢查询日志,以下查询(和类似查询)偶尔需要大约 2s 执行:
INSERT INTO incoming_gprs_data (data,type) VALUES ('3782379837891273|890128398120983891823881abcabc','GT100');
Run Code Online (Sandbox Code Playgroud)
表结构:
CREATE TABLE `incoming_gprs_data` (
`id` int(200) NOT NULL AUTO_INCREMENT,
`dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`data` text NOT NULL,
`type` char(10) NOT NULL,
`test_udp_id` int(20) NOT NULL,
`parse_result` text NOT NULL,
`completed` tinyint(1) NOT NULL,
PRIMARY KEY (`id`),
KEY `completed` (`completed`)
) ENGINE=InnoDB AUTO_INCREMENT=5478246 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
与此表相关的活动:
SELECT * FROM incoming_gprs_data WHERE completed = 0,处理它们并更新completed = 1completed …我有 100 多个文件要导入 sql server,其中大部分是 500 MB。我想利用 SQL Server 的并行导入实用程序并阅读了许多网页,如下所示:
如何在 30 分钟内加载 1 TB 数据
https://technet.microsoft.com/en-us/library/dd537533(v=sql.100).aspx
使用表级锁定并行导入数据
https://technet.microsoft.com/en-us/library/ms186341(v=sql.105).aspx
控制批量导入的锁定行为
https://technet.microsoft.com/en-us/library/ms180876(v=sql.105).aspx
以及 stackoverflow 中的答案
然而,他们都没有给出一个简单的代码示例。我知道如何使用批量插入/bcp,但我不知道从哪里开始并行导入?任何人都可以帮助我吗?
我的系统是Windows,我使用的是SQL server 2016。源数据文件为txt格式。
在此先感谢您的帮助!
杰森
sql-server parallel-processing bulkinsert sqlbulkcopy bulk-load
bulk-load ×12
postgresql ×3
sql ×3
sql-server ×3
bulkinsert ×2
csv ×2
oracle ×2
alteryx ×1
bcp ×1
cassandra ×1
indexing ×1
innodb ×1
java ×1
loaddata ×1
mysql ×1
performance ×1
primary-key ×1
psql ×1
rdbms ×1
snowflake-cloud-data-platform ×1
spring ×1
sqlbulkcopy ×1
sqlxml ×1
vb.net-2010 ×1
xml ×1
xsd ×1