0

我在 C 盘本地使用 Delphi XE4 和 SQL server express 12。我可以通过 ADO comp 将 Delphi 链接到 Access DB。问题是当我尝试链接 SQL 服务器数据库时 - 它看不到我的服务器/数据库。我不确定我应该如何指定我的服务器名称(USER-PC\SQLEXPRESS - SQLserver 创建的名称)或我的数据库名称(C:\Program Files(x86)\Microsoft SQL Server\MSSQL11.SQLExpress\MSSQL\DATA\测试数据库.Mdf)。没有使用密码。我尝试通过 ADoTable(SQL SERVER Native Client 11.0 以及 Microsoft OLE DB Provider for SQL Server)和 TSQLConnection。(我最近一直在使用 MS Access - 与外部数据库连接脱节......)

4

3 回答 3

1

您需要以某种方式提供服务器信息,您可以使用 ConnectionString 来建立连接。连接字符串如下所示:

ConnString =
  'Provider=SQLOLEDB.1;Persist Security Info=False;' +
  'User ID=%s;Password=%s;Data Source=%s;Use Procedure for Prepare=1;' +
  'Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;'+
  'Tag with column collation when possible=False';

看看这个使用ADOQuery 的例子。

并查看文档:连接到数据库 - 概述

于 2013-05-14T12:01:28.843 回答
0

如果您右键单击 TADOConnection 组件,您将可以选择编辑连接字符串。这将打开一个对话框,带有一个标记为 Build... 的按钮

单击它会打开一个向导。选择“Microsoft OLE DB Provider for SQL Server”作为提供程序,然后单击下一步。现在为您提供了当前可见的所有 SQL Server 的列表。如果您的不在此列表中,则它不可用。SQL Server 服务是否已启动?

如果它在列表中,则按照向导构建有效的连接字符串。

于 2013-05-16T12:29:40.907 回答
0

实际上,您必须连接到 MSSQL Express,而不考虑位数 (32/64)。您的 SQL Server Express 启用了 TCP/IP 和/或命名管道连接,而不仅仅是共享内存?

要检查,启动 SQL Server 配置管理器(不知道它是否在 2012 年更改,但它是 2008/2008r2 上的名称)并在SQL Server 网络配置/协议下查找 <您的服务器实例>项(它将有 2其中在 64 位系统上,如果我的记忆没有让我失望 - 我的机器是 32 位的,请检查两者)。

于 2013-07-15T18:42:39.443 回答