如何在ODBC上公开SQL Server数据库

时间:2011-11-14 11:57:12

标签: sql-server-2005 odbc

我是ODBC的新手,已经开始阅读文章以了解ODBC。

我需要公开当前托管在SQL Server上的数据库,以便向ODBC上的其他应用程序公开用户,以便其他开发人员可以使用ODBC创建报告和执行其他操作。

我需要为此做些什么,我是否需要编写API或只需要在ODBC驱动程序上公开连接,它将处理剩下的事情?

主要要求是为用户公开数据库,以便他们可以创建自己的Crystal Reports。

请为此建议一些良好的链接。

我正在浏览以下链接

http://msdn.microsoft.com/en-us/library/aa299159(v=SQL.80).aspx

1 个答案:

答案 0 :(得分:0)

您需要做的就是在客户端计算机上配置ODBC连接。当然,SQL Server必须正在侦听并接受来自客户端的连接。

要配置ODBC连接,可以使用ODBC管理器。系统DSN选项卡带有“添加”按钮。然后使用“SQL Server”或“SQL Server Native Client 10.0”驱动程序并填写驱动程序所需的字段。在您的应用程序中,您可以使用此类DSN,或使用ConnectString。这样的连接字符串看起来像:

Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Uid=myUsername;Pwd=myPassword;

更多示例:http://www.connectionstrings.com/sql-server#p3

我不知道你使用的是哪种语言,但是使用Python(我使用带有odbc模块的ActiveState Python),你可以尝试使用代码实现ODBC的工作:

import odbc

# connect string
db = odbc.odbc('Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Uid=myUsername;Pwd=myPassword;')

# DSN
db = odbc.odbc('my_dsn/user/passwd')

c = db.cursor()
rs = c.execute("SELECT count(*) FROM tmp_table WHERE txt='ala'")
for txt in c.fetchall():
    print('%s' % (txt[0]))

(当然更改表格和列名称)