异常记录-神通数据库-已解决
记录几个神通数据库的问题。
异常
Failed to ping database: unknown URL option: sysdba
GoLang 案例,拿来直接用
package mainimport ("fmt""github.com/team-ide/go-driver/db_shentong""testing"
)func TestShenTong(t *testing.T) {dsn := db_shentong.GetDSN("SYSDBA", "szoscar55", "192.0.0.116", 2003, "OSRDB")db, err := db_shentong.Open(dsn)if err != nil {panic(err)}sql := `select 2`var count introws, err := db.Query(sql)if err != nil {panic(err)}rows.Next()err = rows.Scan(&count)if err != nil {panic(err)}fmt.Printf("result:%d\n", count)if count == 2 {fmt.Println("test success")} else {panic("test fail")}
}
注释版
package mainimport ("fmt" // 引入 fmt 包,用于格式化输出"github.com/team-ide/go-driver/db_shentong" // 引入神通数据库驱动"testing" // 引入 testing 包,用于单元测试
)func TestShenTong(t *testing.T) {// 构造神通数据库连接字符串// 参数依次为:用户名、密码、主机IP、端口号、数据库名dsn := db_shentong.GetDSN("SYSDBA", "szoscar55", "192.0.0.116", 2003, "OSRDB")// 使用连接字符串打开数据库连接db, err := db_shentong.Open(dsn)if err != nil {// 如果连接失败,直接抛出异常panic(err)}// 定义要执行的 SQL 语句sql := `select 2`// 定义一个变量,用于接收查询结果var count int// 执行查询rows, err := db.Query(sql)if err != nil {// 如果查询失败,抛出异常panic(err)}// 移动到结果集的第一行rows.Next()// 将查询结果扫描到 count 变量中err = rows.Scan(&count)if err != nil {panic(err)}// 打印查询结果fmt.Printf("result:%d\n", count)// 判断查询结果是否符合预期if count == 2 {fmt.Println("test success") // 查询结果正确,测试成功} else {panic("test fail") // 查询结果不正确,抛出异常}
}
有各种国产数据库的 driver
https://github.com/team-ide/go-driver