Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 转换为ASCII字符VB.net ssis_Sql Server_Vb.net_Ssis - Fatal编程技术网

Sql server 转换为ASCII字符VB.net ssis

Sql server 转换为ASCII字符VB.net ssis,sql-server,vb.net,ssis,Sql Server,Vb.net,Ssis,我有一个包含单词列表的文件,与此类似,我想将其导入我的MSSQL数据库 Świętochłowice Chełmiec Wałcz ... 我想将波兰语字符初步转换成ASCII,这样就可以通过我的DB解析它们。 我使用SSIS导入数据,因此我使用vb.net脚本在导入时/导入前更改文本 我试过了 Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) Row.unsanitised1.Replace(

我有一个包含单词列表的文件,与此类似,我想将其导入我的MSSQL数据库

Świętochłowice
Chełmiec
Wałcz
...
我想将波兰语字符初步转换成ASCII,这样就可以通过我的DB解析它们。 我使用SSIS导入数据,因此我使用vb.net脚本在导入时/导入前更改文本

我试过了

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    Row.unsanitised1.Replace("Ą", "A")
    Row.unsanitised1.Replace("ą", "a")

    Row.unsanitised1.Replace("Ć", "C")
    Row.unsanitised1.Replace("ć", "c")

    Row.unsanitised1.Replace("Ę", "E")
    Row.unsanitised1.Replace("ę", "e")

    Row.unsanitised1.Replace("Ł", "L")
    Row.unsanitised1.Replace("ł", "l")

    Row.unsanitised1.Replace("Ń", "N")
    Row.unsanitised1.Replace("ń", "n")

    Row.unsanitised1.Replace("Ó", "O")
    Row.unsanitised1.Replace("ó", "o")

    Row.unsanitised1.Replace("Ś", "S")
    Row.unsanitised1.Replace("ś", "s")

    Row.unsanitised1.Replace("Ź", "Z")
    Row.unsanitised1.Replace("ź", "z")

    Row.unsanitised1.Replace("Ż", "Z")
    Row.unsanitised1.Replace("ż", "z")

    Row.sanitised = Row.unsanitised
    Row.sanitised1 = Row.unsanitised1

End Sub
但是,当文件被读入时,字符没有被正确读取,它们更像是“Ĺ”我做错了什么?我是否需要将它们作为unicode读入

文件和vbscript保存在代码页1200中,以保留波兰语字符。

因此,在稍作休息并再次查看之后,我发现了问题所在。我把它贴在这里,以防人们在将来遇到这个问题,并看到这是目前尚未解决的问题

@Sandeep Rowat&Tom Blodget在评论中说,需要代码页65001(UTF-8)。 但是,替换函数对于列表中的两个字符Ó和ó仍然不起作用

我认为导入混淆了字符,使它们无法识别,这一理论通过导入字符并将其转换为十六进制进行了测试,确保它们是相同的基线字符

Ó在导入和代码中均显示为十六进制D3

ó在导入和代码中都显示为十六进制F3

由于它们在导入时和代码中是相同的,这使我相信String.Replace()函数在这些字符上无法正常工作

我绕过了这个问题,做了一个删除,然后插入来替换字符

Public重写子Input0\u ProcessInputRow(ByVal行作为Input0Buffer)
var=未初始化的行1.替换(“A”)
变量替换(“ą”、“a”)
变量替换(“Ć”、“C”)
变量替换(“ć”、“c”)
变量替换(“Ę”、“E”)
变量替换(“ę”、“e”)
变量替换(“Ł”、“L”)
变量替换(“ł”、“l”)
变量替换(“Ń”、“N”)
变量替换(“n”,“n”)
变量替换(“Ó”、“O”)不起作用?!
变量替换(“ó”、“o”)不起作用?!
i=var.LastIndexOf(“Ó”)
当i>=0时执行此操作
var=var.Remove(i,1)'这很有效!
var=var.Insert(i,“O”)'这很有效!
i=var.LastIndexOf(“Ó”)
环
i=var.LastIndexOf(“ó”)
当i>=0时执行此操作
var=var.Remove(i,1)'这很有效!
var=var.Insert(i,“o”)'这很有效!
i=var.LastIndexOf(“ó”)
环
变量替换(“Ś”、“S”)
变量替换(“ś”、“s”)
变量替换(“Ź”、“Z”)
变量替换(“ź”、“z”)
变量替换(“Ż”、“Z”)
变量替换(“ż”、“z”)
行.已消毒=行.未消毒
Row.sanitised1=var
i=没有
结束子项
右侧

因此,在稍作休息并再次查看之后,我发现了问题所在。我把它贴在这里,以防人们在将来遇到这个问题,并看到这是目前尚未解决的问题

@Sandeep Rowat&Tom Blodget在评论中说,需要代码页65001(UTF-8)。 但是,替换函数对于列表中的两个字符Ó和ó仍然不起作用

我认为导入混淆了字符,使它们无法识别,这一理论通过导入字符并将其转换为十六进制进行了测试,确保它们是相同的基线字符

Ó在导入和代码中均显示为十六进制D3

ó在导入和代码中都显示为十六进制F3

由于它们在导入时和代码中是相同的,这使我相信String.Replace()函数在这些字符上无法正常工作

我绕过了这个问题,做了一个删除,然后插入来替换字符

Public重写子Input0\u ProcessInputRow(ByVal行作为Input0Buffer)
var=未初始化的行1.替换(“A”)
变量替换(“ą”、“a”)
变量替换(“Ć”、“C”)
变量替换(“ć”、“c”)
变量替换(“Ę”、“E”)
变量替换(“ę”、“e”)
变量替换(“Ł”、“L”)
变量替换(“ł”、“l”)
变量替换(“Ń”、“N”)
变量替换(“n”,“n”)
变量替换(“Ó”、“O”)不起作用?!
变量替换(“ó”、“o”)不起作用?!
i=var.LastIndexOf(“Ó”)
当i>=0时执行此操作
var=var.Remove(i,1)'这很有效!
var=var.Insert(i,“O”)'这很有效!
i=var.LastIndexOf(“Ó”)
环
i=var.LastIndexOf(“ó”)
当i>=0时执行此操作
var=var.Remove(i,1)'这很有效!
var=var.Insert(i,“o”)'这很有效!
i=var.LastIndexOf(“ó”)
环
变量替换(“Ś”、“S”)
变量替换(“ś”、“s”)
变量替换(“Ź”、“Z”)
变量替换(“ź”、“z”)
变量替换(“Ż”、“Z”)
变量替换(“ż”、“z”)
行.已消毒=行.未消毒
Row.sanitised1=var
i=没有

结束子项
使用Unicode代码页65001@sandeeprawat感谢unicode代码页65001似乎在很大程度上起作用。出于某种原因,它忽略了Ó&ó,即使在解析数据时,它看起来与我完全相同。我建议您尝试使用unicode。我有一个类似的问题(需要替换的字符稍有不同),在检查和替换unicode代码而不是字符本身后,它工作正常。不确定您的问题中“vbscript”指的是什么,但VB源文件必须是unicode(我想是UTF-8).使用Unicode代码页65001@sandeeprawat感谢unicode代码页65001似乎在很大程度上起作用。出于某种原因,它忽略了Ó&ó,即使在解析数据时,它看起来与我完全相同。我建议您尝试使用unicode。我有一个类似的问题(需要替换的字符稍有不同),我