考虑这样的情况,如果你有一个现有的非Drupal系统,然后有一个Drupal开发团队,你希望这个Drupal团队帮你扩展应用。
那么这个时候,Drupal应用就应该设计成是支持多数据库的。
在Drupal中使用多数据,也很简单。
1、首先在配置文件(Settings.php)中把默认的数据库配置项改成数组形式:
<?php
$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal'
$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo'
?>
注意这里的数据库格式必须是一样的。即不能一个是mysql,另外一个是pgsql。
而且默认的必须是drupal自己的数据库。
2、然后在程序中动态切换:
<?php
global $db_url// 数据库链接的内部变量
if (!is_array($db_url)) {
$default_db = $db_url
$db_url = array('default' =>$default_db)
}
//也可以动态设置新的数据库,这里注释掉,因为我们已经写在配置项中
//$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo'
db_set_active('jigo') // activation &execution same as explained above
$results = db_query($sql)//sql represents the query to be executed
db_set_active('default')// set back to original
?>
regards,
iefreer
下载后安装在.net的安装目录下。会在.NET2005工具栏出现PostgreSQLDirect组件包含了PgSqlConnectionPgSqlCommand
PgSqlDataAdapter
等控件,然后在项目里添加引用:CoreLab.Data和CoreLab.PostgreSql,可以拖放控件连接数据库,使用方法2005的和自带控件基本相同。也可以写代码连接数据库,具体代码如下:
PgSqlDataSetds=newPgSqlDataSet()
stringsql="select*fromonetestwheretid=3000"
PgSqlConnectioncon=newPgSqlConnectio
("userid=postgresPassword=111111
host=LOCALHOSTdatabase=postgres")
PgSqlDataAdapterda=newPgSqlDataAdapter(sql,con)
da.Fill(ds)
this.dataGridView1.DataSource=ds
this.dataGridView1.DataMember=ds.Tables[0].ToString()
方法二:
下载:Npgsql1.0-bin-ms2.0.zip。
解压缩后将其中的两个dll文件复制到工程目录下(和bin同级),然后在项目里添加引:Mono.Security和NPgSQL,在代码里添加using
NpgSQL具体代码如下:
stringsql="select*fromonetestwheretid=3000"
NpgsqlConnectioncon=newNpgsqlConnection
("server=localhostuid=postgrespwd=111111database=postgres")
NpgsqlDataAdapterda=newNpgsqlDataAdapter(sql,con)
DataSetds=newDataSet()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)