我正在使用Delphi XE4& SQL server express 12,本地在C盘上。我可以通过ADO comp将Delphi链接到Access DB。问题是当我尝试链接SQL服务器数据库时 - 它没有看到我的服务器/数据库。我不确定如何指定我的服务器名称(USER-PC \ SQLEXPRESS - 由SQLserver创建的名称)或我的数据库名称(C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL11.SQLExpress \ MSSQL \ DATA \ TestDB.Mdf)。没有使用密码。我尝试通过ADoTable(SQL SERVER Native Client 11.0以及SQL Server的Microsoft OLE DB Provider)和TSQLConnection。 (我最近一直在使用MS Access - 与外部数据库连接脱节......)
答案 0 :(得分:0)
您需要以某种方式提供服务器信息,您可以使用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';
看看this example使用ADOQuery。
并查看文档:{{3}}
答案 1 :(得分:0)
如果右键单击TADOConnection组件,则可以选择编辑连接字符串。这将打开一个对话框,其中包含一个标记为Build ...
的按钮单击此按钮可打开向导。选择“Microsoft OLE DB Provider for SQL Server”作为提供程序,然后单击“下一步”。现在,您将获得当前可见的所有SQL Server的列表。如果您的列表不在此列表中,则该列表不可用。 SQL Server服务是否已启动?
如果它在列表中,则按照向导进行构建有效的连接字符串。
答案 2 :(得分:0)
实际上,您必须连接到MSSQL Express而不考虑位数(32/64)。您的SQL Server Express是否启用了TCP / IP和/或命名管道连接,而不仅仅是共享内存?
要检查,请启动SQL Server配置管理器(不知道它是否在2012年更改,但它是2008 / 2008r2上的名称),并查看 SQL Server网络配置/协议<你的服务器实例> 项目(它在64位系统上有2个,如果我的内存没有让我失望 - 我的机器是32位,请检查两者)。