ODBC驱动程序跟踪未捕获任何LogParser事件
-
26-09-2020 - |
题
我已经启用了使用这些方向。我正在运行SQL Server 2014,使用2012本地人司机。
我运行开始批处理文件,然后执行以下logparser命令:
> c:\ program files(x86)\ log parser 2.2 \ logparser.exe“”选择substr(field1,0,2)作为countrycode,substr(to_string(field2),0,5)作为Zipcodes 'C:\ users \ jdearing \ downloads \ us.txt'“-i:tsv-headerrow:关闭-o:sql -server。 -database logparsertest -cleartable -transactionrowcount:0 -ignoreminwarns:关闭
此插入零行。而是为每一行产生此错误:
An error occurred while uploading data to SQL table
SQL State: 22001
Native Error: 0
Error Message: [Microsoft][ODBC SQL Server Driver]String data, right
truncation
.
在停止迹线时,ETL是1024k,但没有根据此LogParser查询的行:
> c:\ program文件(x86)\ log parser 2.2 \ logparser.exe“”select * from'snactrace_000001.etl'“-i:etw
我注意到Providers.txt批处理文件中的GUID中的差异和logman query providers | findstr SQL
的输出
echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt
echo {A9377239-477A-DD22-6E21-75912A95FD08} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt
echo {2DA81B52-908E-7DB6-EF81-76856BB47C4F} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt
.
与
SQLNCLI.1 {BA798F36-2325-EC5B-ECF8-76958A2AF9B5}
SQLSERVER.09 {AB6D5EEB-0132-74AB-C5F5-B23E1644DADA}
SQLSERVER.10 {48D59D84-105B-00FA-6B49-03462F696737}
SQLSERVER.11 {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9}
.
所以我将批处理文件更新为:
echo {BA798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI > providers.txt
echo {48D59D84-105B-00FA-6B49-03462F696737} 0xFFFFFFFF 128 SQLNCLI10 >> providers.txt
echo {B2A28C42-A7C2-1563-97CC-3BE49FDA19F9} 0xFFFFFFFF 128 SQLNCLI11 >> providers.txt
.
仍然没有运气。我还能尝试什么? logparser不使用本机客户端?
解决方案 2
我已经有数据显示在ETL中。我所做的两件事如下:
- 我不得不修改批处理文件,还可以设置32位BitInterface加载程序:
HKLM\software\Wow6432Node\Microsoft\BidInterface\Loader
- 我修改了Providers.txt如下: {Ba798F36-2325-EC5B-ECF8-76958A2AF9B5} 0xFFFFFFFF 128 SQLNCLI {A9377239-477A-DD22-6E21-75912A95FD08} 0xFFFFFFFF 128 SQLNCLI10.1 {2DA81B52-908E-7DB6-EF81-76856BB47C4F} 0xFFFFFFFF 128 SQLNCLI11.1
其他提示
尝试显式指定-driver
选项,提供本机客户端的名称。
不隶属于 dba.stackexchange