odbc连接oracle数据库问题,急救!

moxili 2005-05-18 10:31:22
Micorsoft ODBC for oracle 与安装Oracle客户端后生成的Oracle In OraHome有什么区别啊?
Micorsoft ODBC for oracle来连接应该怎样设置呢 高手救急
...全文
415 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjiaxin_1 2005-05-30
  • 打赏
  • 举报
回复
还是用ado连吧
odbc实在不爽,还要配置
moxili 2005-05-30
  • 打赏
  • 举报
回复
谢谢
mndsoft 2005-05-18
  • 打赏
  • 举报
回复
忘了,更多的代码请访问:http://www.mndsoft.com
mndsoft 2005-05-18
  • 打赏
  • 举报
回复
Option Explicit


Public Enum RSMethod
VIEW_RECORD = 0
EDIT_RECORD = 1
EXEC_SQL = 2
NEW_RECORD = 3
End Enum


Function dbConnection(strDatabaseType As String, strDBService As String, Optional strUserID As String, Optional strPassword As String) As ADODB.Connection

Dim objDB As New ADODB.Connection
Dim strConnectionString As String



If strDatabaseType = "ORACLE" Then
'Define ORACLE database connection strin
' g
strConnectionString = "Driver={Microsoft ODBC Driver For Oracle};ConnectString=" & strDBService & ";UID=" & strUserID & ";PWD=" & strPassword & ";"
ElseIf strDatabaseType = "MSACCESS" Then
'Define Microsoft Access database connec
' tion string
strConnectionString = "DBQ=" & strDBService
strConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; " & strConnectionString
End If



With objDB
.Mode = adModeReadWrite ' connection mode ???
.ConnectionTimeout = 10 'Indicates how Long To wait While establishing a connection before terminating the attempt and generating an error.
.CommandTimeout = 5 ' seconds given To execute any command
.CursorLocation = adUseClient ' use the appropriate cursor ???
.Open strConnectionString 'open the database connection

End With

Set dbConnection = objDB
End Function


Function CreateRecordSet(ByRef dbConn As ADODB.Connection, ByRef rs As ADODB.Recordset, ByVal method As RSMethod, Optional strSQL As String, Optional TableName As String) As ADODB.Recordset
' close the recordset first if it's open
' ...
' otherwise an error will occured
'(open a recordset which is already open
' ed...)


If rs.State=1 Then
rs.close
End If


Select Case method
Case RSMethod.NEW_RECORD
rs.ActiveConnection = dbConn
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseServer
rs.Open TableName

Case RSMethod.EDIT_RECORD
rs.ActiveConnection = dbConn
rs.Source = strSQL
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.Open
' Debug.Print "SQL Statement in EDIT Mod
' e (Createrecordset) : " & strSQL
' Debug.Print "Found " & rs.RecordCount
' & " records"

Case RSMethod.VIEW_RECORD

rs.ActiveConnection = dbConn 'dbConnection 'dbConn
rs.Source = strSQL
rs.CursorType = adOpenForwardOnly
rs.CursorLocation = adUseClient
rs.Open
' Debug.Print "Found " & rs.RecordCount
' & " records"
rs.ActiveConnection = Nothing

Case RSMethod.EXEC_SQL
Set rs = dbConn.Execute(strSQL)
End Select
Set CreateRecordSet = rs
End Function
'======================================
'End Of Module
'======================================
'=======================================
' ==========
'======================================
'Sample of subroutines...
'======================================


Sub Add_New_Record()
Dim objRecSet As New ADODB.Recordset
Dim objConn As New ADODB.Connection
Dim strUserID As String
Dim strPassword As String
Dim strTableName As String
Dim strDBType As String
Dim strDBName As String

strTableName = "YOURTABLE"
strPassword = "YourPassword"
strUserID = "YourUserID"



If strDBType = "MSACCESS" Then
' strDBName is your Database Name
strDBName = App.Path & "\YourAccessDB.mdb"

ElseIf strDBType = "ORACLE" Then
' strDBName is your Oracle Service Name
strDBName = "YOUR_ORACLE_SERVICE_NAME"
strTableName = strUserID & "." & strTableName
'Table name format ::> USERID.TABLENA
' ME
Else
MsgBox "Database is other than ORACLE or Microsoft"
Exit Sub
End If

Set objConn = dbConnection(strDBType, strDBName, "userid", "password")
'send NEW_RECORD and strTableName as a p
' art of parameters
Set objRecSet = CreateRecordSet(objConn, objRecSet, NEW_RECORD, , strTableName)

objConn.BeginTrans


With objRecSet
.AddNew
.Fields("FIELD1").Value = "your value1"
.Fields("FIELD2").Value = "your value2"
.Fields("FIELD3").Value = "your value3"
.Fields("FIELD4").Value = "your value4"
.Fields("FIELD5").Value = "your value5"
.Update
End With


If objConn.Errors.Count = 0 Then
objConn.CommitTrans
Else
objConn.RollbackTrans
End If

objRecSet.Close
objConn.Close
Set objRecSet = Nothing
Set objConn = Nothing
End Sub


Sub View_Record_Only()
Dim strSQL As String
Dim strDBName As String
Dim strDBType As String
Dim strUserID As String
Dim strPassword As String

Dim objRecSet As New ADODB.Recordset
Dim objConn As New ADODB.Connection



If strDBType = "MSACCESS" Then
' strDBName is your Database Name
strDBName = App.Path & "\YourAccessDB.mdb"

ElseIf strDBType = "ORACLE" Then
' strDBName is your Oracle Service Name
strDBName = "YOUR_ORACLE_SERVICE_NAME"

Else
MsgBox "Database is other than ORACLE or Microsoft"
Exit Sub
End If

strPassword = "YourPassword"
strUserID = "YourUserID"
strSQL = "SELECT * from USER_TABLE"

Set objConn = dbConnection(strDBType, strDBName, "userid", "password")
'create a disconnected recordset
Set objRecSet = CreateRecordSet(objConn, objRecSet, VIEW_RECORD, strSQL)
objConn.Close
Set objConn = Nothing
'manipulate the recordset here.....
'manipulate the recordset here.....
'manipulate the recordset here.....
objRecSet.Close
Set objRecSet = Nothing
End Sub


Sub Edit_Existing_Record()
Dim objRecSet As New ADODB.Recordset
Dim objConn As New ADODB.Connection
Dim strUserID As String
Dim strPassword As String
Dim strSQL As String
Dim strDBType As String
Dim strDBName As String

strTableName = "YOURTABLE"
strPassword = "YourPassword"
strUserID = "YourUserID"



If strDBType = "MSACCESS" Then
' strDBName is your Database Name
strDBName = App.Path & "\YourAccessDB.mdb"

ElseIf strDBType = "ORACLE" Then
' strDBName is your Oracle Service Name
strDBName = "YOUR_ORACLE_SERVICE_NAME"
Else
MsgBox "Database is other than ORACLE or Microsoft"
Exit Sub
End If
strSQL = "Select * from YOUR_TABLE"
Set objConn = dbConnection(strDBType, strDBName, "userid", "password")
'send EDIT_RECORD and strSQL as a part o
' f parameters
Set objRecSet = CreateRecordSet(objConn, objRecSet, EDIT_RECORD, strSQL)



With objRecSet
.Fields("FIELD1").Value = "你的值"
.Update
End With
objRecSet.Close
objConn.Close
Set objRecSet = Nothing
Set objConn = Nothing
End Sub
内容概要:本文系统研究了开关频率大于谐振频率(fs>fr)工况下,移相混合控制LLC谐振变换器在低压增益区域的工作特性,深入分析其在变频与移相结合控制模式下的调制机理、工作模态划分及损耗分布规律。通过Simulink平台构建高保真仿真模型,对变换器在不同负载和输入条件下的电压增益、转换效率、关键器件电压电流应力等性能指标进行了全面仿真验证,重点探讨了其在低增益区间的软开关实现能力与效率优化潜力,旨在提升LLC变换器在宽范围输入输出应用中的动态响应与能源转换效率。; 适合人群:从事电力电子变换器设计、高频电源开发及相关领域的高校研究生、科研院所研究人员及企业研发工程师,要求具备扎实的电路理论基础、电力电子技术知识以及一定的Simulink仿真能力。; 使用场景及目标:①深入理解LLC谐振变换器在fs>fr条件下采用移相混合控制的内在工作机理与模态转换过程;②掌握利用Simulink搭建复杂谐振变换器精确仿真模型的方法与技巧;③分析并优化低压增益区的增益特性与损耗构成,为设计高效率、高功率密度的软开关电源提供理论依据和数据支持; 阅读建议:建议读者结合文中所述仿真模型,亲自复现仿真过程,重点观察不同控制参数(如移相比、开关频率)对电压增益曲线和关键波形的影响,并对比传统变频控制策略,深入探究混合控制在拓宽调压范围、提升轻载效率方面的优势,从而深化对现代高效谐振电源设计的理解。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划提供了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题中的应用技巧;③为实际工程中分布式光伏与储能系统的科学选址与容量配置提供理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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