Sybase module for Python dsn动态构造?

pengshi001 2011-09-21 09:01:56
http://www.oschina.net/p/python-sybase

这个东西已经安装好了。

import Sybase
Sybase.connect('SYBASE', 'sa', '')

“The arguments to the Sybase.connect() function are server (from the interfaces file), username, password, and database. The database argument is optional. ”

在知道了sybase服务器所在的ip地址,开放服务的端口的条件下,可以动态构造第一个参数server么?
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengshi001 2011-09-26
  • 打赏
  • 举报
回复
import threading
import pyodbc

class genericSybaseDB:
"""generic database"""
def __init__(self, dbInfo):
self.lock = threading.Lock()
self.dbInfo = dbInfo
self.db = None

def connect(self):
"connect to database"
try:
if self.dbInfo.has_key('database'):
database = self.dbInfo['database']
else:
database = ''

connstr = "DRIVER={FreeTDS};SERVER=%s;PORT=%d;DATABASE=%s;UID=%s;PWD=%s" \
%(self.dbInfo['server'], self.dbInfo['port'],\
database, self.dbInfo['user'], self.dbInfo['passwd'])

db = pyodbc.connect(connstr, autocommit=True)
self.conn = db
cursor = db.cursor()
self.db = cursor
return 'OK'
except:
import traceback
traceback.print_exc()
return 'ERROR'

这是我在linux底下的python代码,要的效果就是在windows下同样可以这样动态的构造出pyodbc所需要的参数。或者不一定使用odbc模式,只要能满足上述效果就行。

如果有解决方案的话,请给我个例子,拜谢了
pengshi001 2011-09-26
  • 打赏
  • 举报
回复
顶顶更健康
pengshi001 2011-09-22
  • 打赏
  • 举报
回复
没人知道么
pengshi001 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 iambic 的回复:]
简单看了下那个文档,基本上没什么有用信息。可能根本不支持remote server。
换个其他的库吧,比如odbc的方式。或者这个SQL Anywhere的方式:
http://hynek.me/2011/02/django-and-remote-sybase-servers/
[/Quote]

用odbc可以在不配置dns数据源的情况下,动态构造connect需要的参数么?
iambic 2011-09-22
  • 打赏
  • 举报
回复
简单看了下那个文档,基本上没什么有用信息。可能根本不支持remote server。
换个其他的库吧,比如odbc的方式。或者这个SQL Anywhere的方式:
http://hynek.me/2011/02/django-and-remote-sybase-servers/
代码转载自:https://pan.quark.cn/s/133311188eb6 ### C# DllImport功能说明及路径选取问题分析 #### 一、DllImport核心原理 `DllImport`是.NET Framework内的一种技术,用于执行平台调用服务(Platform Invoke, 简称P/Invoke),该机制使得.NET应用程序能够调用非托管代码中的函数,例如Windows API或其他非托管库中的函数。这对于增强.NET应用程序的功能性非常关键,因为许多高级系统级操作(例如文件操作、进程控制等)通常由非托管库负责实现。 `DllImport`特性包含在`System.Runtime.InteropServices`命名空间中,它的主要功能是向CLR(Common Language Runtime)指示如何定位并调用非托管库中的特定函数。 #### 二、DllImport特性包含的主要元素 `DllImport`特性所包含的主要元素有: - **DllName**:必需的字符串参数,用于表明需要导入的非托管库的名称。 - **CallingConvention**:可选参数,用于设定调用协议。在默认情况下,其值为`CallingConvention.Cdecl`。 - **CharSet**:可选参数,用于定义字符集的类型。在默认情况下,其值为`CharSet.Auto`,即根据函数的签名自动决定字符集。 - **EntryPoint**:可选参数,用于指定非托管库中的函数名称。若未提供,则默认使用应用程序的方法名称作为函数名称。 - **ExactSpelling**:可选布尔值,用于确定函数名称是否必须与非托管库中的完全一致。...

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧