我很难使用ADODB从MSSQL 2012服务器填充记录集 下面是无效的代码,以及我收到的错误。
我使用了完全相同的设置来查询来自MSSQL 2008r2服务器的数据而没有问题。
我知道我的SELECT语句准确无误。如果我将select语句粘贴到sql server management studio中的新查询窗口中,它将返回数据。
Dim mConnection
Set mConnection = CreateObject("ADODB.Connection")
mConnection.Open "Provider=SQLOLEDB.1;Data Source=rwdwstage","SA","PASSWORDREDACTED"
Set Tech_RS = CreateObject("ADODB.Recordset")
SQLstr = "SELECT QDSTCD, QDAREA, QDBANK FROM [RWDATA].[dbo].[BRDETAIL] where QDSDT = '20151215' and QDSTCD = 'WI'"
Tech_RS.open SQLstr, mConnection
Do while not Tech_RS.EOF
wscript.echo Tech_RS.Fields("QDSTCD") & " - " & Tech_RS.Fields("QDAREA") & " - " & Tech_RS.Fields("QDBANK")
Tech_RS.MoveNext
Loop
错误返回
cscript ..\HIST_Transfer\test2.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. ..\HIST_Transfer\test2.vbs(11, 1) Microsoft OLE DB Provider for SQL Server: Incorrect syntax near the keyword 'FROM'.
非常感谢任何可以提供的帮助!
答案 0 :(得分:-1)
您可以将[DataContract]
public abstract class EntityBase<TSubclass> : INotifyPropertyChanged
where TSubclass : class
{
private List<string> _hydratedProperties;
protected EntityBase()
{
Init();
}
private void Init()
{
_hydratedProperties = new List<string>()
}
[OnDeserializing]
private void OnDeserializing(StreamingContext context)
{
Init();
}
// ... rest of code here
}
添加到连接字符串:
Initial Catalog
并将查询更改为:
mConnection.Open "Provider=SQLOLEDB.1;Data Source=rwdwstage;Initial Catalog=RWDATA","SA","PASSWORDREDACTED"
<小时/> 我猜它之前有用,因为用于连接的登录的默认数据库是
SQLstr = "SELECT QDSTCD, QDAREA, QDBANK FROM [dbo].[BRDETAIL] where QDSDT = '20151215' and QDSTCD = 'WI'"
,而更新版本则指向另一个数据库(您可以尝试更改该登录的默认数据库并检查它是否有效,请注意,更改它可能会破坏依赖于默认DB的其他应用程序