sql - 通过VBA导入sql文件时字符串中的奇怪字符
问题描述
我正在尝试通过 VBA 将 SQL 文件导入到 excel 中,以便将 SQL 代码作为一个字符串返回,但是当我将 SQL 作为字符串导入时,每个字符之间都会出现小方块(回车符?) - 而不是知道为什么!它以前在其他文件中使用过,使用不同的 SQL,所以我不确定我做错了什么。
Function ImportSQLText(FileExt, FileSQLName)
'//Needs Microsoft Scripting Runtime Ref
'//and microsoft active x data objects 2.8
Dim ReadText As String, newLine As String
Dim fso As FileSystemObject: Set fso = New FileSystemObject
Set txtStream = fso.OpenTextFile(FileExt & fileName, ForReading, False)
ReadText = " "
Do While Not txtStream.AtEndOfStream
newLine = txtStream.ReadLine
If InStr(newLine, "[input-sDte]") > 0 Then
ReadText = ReadText & Replace(newLine, "[input-sDte]", sDte) & vbCrLf
ElseIf InStr(newLine, "[input-eDte]") > 0 Then
ReadText = ReadText & Replace(newLine, "[input-eDte]", eDte) & vbCrLf
Else
ReadText = ReadText & newLine & vbCrLf
End If
Loop
txtStream.Close
ImportSQLText = ReadText
End Function
SQL 代码如下所示:
;if object_id('tempdb.#usr_fld') is not null
drop table #usr_fld
-- Creating Temp Table
CREATE TABLE #usr_fld([PLACE-REF] NVARCHAR(50)
,[PROJCODE] nvarchar(100)
,[CUORACLE] nvarchar(100));
任何输入将不胜感激 - 这次谷歌搜索它对我没有帮助。
解决方案
你几乎肯定有一个 unicode 文件。FSO的方法有一个可选的第四个参数:OpenTextfile
Const TriStateTrue = -1
Set txtStream = fso.OpenTextFile(FileExt & fileName, ForReading, False, TriStateTrue)
只需将您的线路换成这两个,它可能会解决问题。
推荐阅读
- bash - 如何使用 bash 计算文件中某行的出现次数?(有加号)
- python - 使用列表循环将变量添加到元组
- c# - 如何根据另一个列表中的表单顺序对列表进行排序
- mysql - 错误:“选择对于此服务器版本无效,应为:'(', WITH”
- python - Python,从上级目录导入将不起作用
- python - 如何打开请求会话?
- mysql - 如何编写 SQL 查询来计算每个用户的平均每日广告展示次数?
- python - Python 重构 - 多个类中的冗余函数
- google-analytics - 为什么 Google Analytics(分析)中的主页和受众概览之间的用户数不同?
- react-native - ReferenceError:找不到变量:nativeFabricUIManager