我们有一个 PLC 将摘要数据输入到 Microsoft Compact SQlce Edition 数据库中。我们想对此数据运行查询,但由于它是紧凑型数据库的类型而无法运行。据我所知,它不会向网络公开任何内容,因此我们无法连接 ODBC 连接或任何类似的东西。放置它的公司建议对我们已有的现有 SQL Server 数据库进行数据库镜像。这似乎是合理的,除了额外的开销,这可能会导致一些延迟问题。Is it possible to Do a database mirror with the SQLce as the principle database?
我在网上没有看到任何让我认为可以做到这一点的东西,事实上我已经看到了它不能做到的暗示。我没有设置数据库镜像,我们只需要一种方法来从这个设备上获取信息。
我在我的数据库中运行以下命令:
CREATE UNIQUE INDEX [UK_NAME1] ON [TABLE1] ([COLUMN1] ASC);
现在,我正在运行以下查询:
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
然而我找不到我的唯一索引列在那里。
我使用了错误的查询吗?还能有什么问题?
在我们的应用程序中,我们计划使用带有 OLE DB 的 SQL Server CE 4.0。连接字符串如下所示。
Dim strConn As String = "Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=\\pc137\d\desktop\mydb.sdf; SSCE:Database Password='password';"
Dim conn As New OleDbConnection
conn = New OleDbConnection(strConn)
conn.Open()
这个适用于本地和网络共享文件 ( .sdf
)
我们尝试使用 Visual Studio 连接网络共享,但出现以下错误
SQL Server Compact 不支持在网络共享上打开数据库文件。
那么是否允许在网络共享中使用 OLE DB 连接 SQL Server CE 4.0?
它会导致任何其他问题吗?
查询是:
Select
Case AStatus
When 1 then 'Success'
When 0 then 'Faliure'
END,
Case AStatus
When 1 then 'AStatus'
When 0 then 'AStatus'
END,
Case AStatus
When 1 then 'Expected:1'
When 0 then 'Recived: 0'
END
From Statuses
Where LocalPath= 'c:\Status'
在 SQL Server Compact 中运行不佳的原始查询(与上述查询相同)是:
Select
Case AStatus
When 1 then 'Success', 'AStatus', 'Expected:1'
When 0 then 'Faliure', 'AStatus', 'Recived: 0'
end
From Statuses
Where LocalPath= 'c:\Status
有什么方法可以查询 SQL-Server-CE 数据库,该数据库将使用 LIKE (或 MATCH AGAINST 或我不知道的任何其他方法,真的)返回在单元格值中找到的匹配数?
示例表,“exampleTable”:
**ObjectID** **value**
1 I Love Lemonade
2 I Love Love
使用这样的查询: SELECT * FROM exampleTable WHERE value LIKE '%love%'
,我可以很容易地找到值包含单词(或有一个单词的一部分包含单词)“love”的任何条目。我希望能够知道在匹配字段中找到了“多少”匹配项(为了搜索优先级),以便它们可以显示为更相关。我意识到我可能对一个简单的查询提出了很多要求,但是,我也知道 SQL 的强大功能,所以我想我会问这是否可能,如果没有,是否还有其他方法我可能会采取(这不会强迫我重写数据库)。
我想以某种方式使用子查询,但没有办法(我已经找到)结合“LIKE”和“IN”。此外,我什至不确定使用子查询是否能完成工作,因为我正在使用一个关系数据库,其中一个主表与其他 8 个表相关,而“其他 8 个”表具有我想要搜索的值,但是主表有我需要的位置(虽然,我想我在这些“8 个其他”表中添加“位置”列没有问题,因为它在其他区域也很有帮助)。
完全有可能我没有将关系数据库的“关系”部分设计得完美无缺,但这是我第一次自己设计(虽然肯定没有使用过)关系数据库,至少,它与我的网站后端配合得很好(是的,这个网站是一个私有的部分 CMS)。
任何帮助表示赞赏,并感谢您的时间!
我正在创建一个 Windows 桌面应用程序并希望包含一个数据库。我选择了 SQL Server Compact 4,但当我下载它时有两个版本(32 位和 64 位)。我的开发机是64位的,要下载这个版本吗?或者,我是否下载了我希望用户运行的版本(我猜这很可能是 32 位的)。如果我下载并使用 64 位的,当我释放数据库时,它会导致 32 位机器上的错误吗?谢谢你。