GVKun编程网logo

数据库连接串 MSSQL、Oracle、Access(数据库连接串是什么)

2

这篇文章主要围绕数据库连接串MSSQL、Oracle、Access和数据库连接串是什么展开,旨在为您提供一份详细的参考资料。我们将全面介绍数据库连接串MSSQL、Oracle、Access的优缺点,解

这篇文章主要围绕数据库连接串 MSSQL、Oracle、Access数据库连接串是什么展开,旨在为您提供一份详细的参考资料。我们将全面介绍数据库连接串 MSSQL、Oracle、Access的优缺点,解答数据库连接串是什么的相关问题,同时也会为您带来(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表、Access 2016-Access 2019中的链接表失败:“无法读取中的数据”、Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access、access mysql mssql 随机 10条数据的sql语句 原创的实用方法。

本文目录一览:

数据库连接串 MSSQL、Oracle、Access(数据库连接串是什么)

数据库连接串 MSSQL、Oracle、Access(数据库连接串是什么)

1、MSSQL 连接字符串


(1)OLEDB

Windows 身份验证

"Provider=SQLOLEDB;Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";

SQL Server 身份验证

"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";

(2)SqlConnection

Windows 身份验证

"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";

SQL Server 身份验证

"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";

(3)ODBC

Driver={SQL Server}; Server = 服务器 IP; Database = 数据库名;Uid = 用户名;Pwd = 密码;

(4)DSN 方式

DSN=DSN 名;Uid = 用户名;Pwd = 密码;


2、MYSQL 连接字符串


例:mysql 示例

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.Common;

using System.Linq;

using System.Text;

using System.Data.OleDb;

using System.Data.SqlClient;

using System.Data.Sql;


namespace ado

{

    public class ConnectionDemo1

    {

        public void GetOleDbTable()

        {

            #region namespace

            //using System.Data.OleDb;

            #endregion


            #region OLEDB Access


            //OLEDB

            //C# 连接 Access 的方式


            //Access 2003   Provider=Microsoft.Jet.OLEDB.4.0

            //Access 2007   Provider=Microsoft.Ace.OleDb.12.0


            //(1) 无数据库密码,无用户密码,共享方式打开

            //"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;"

            //(2) 有数据库密码,没有用户密码,这种方式以独占方式打开

            //"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123"

            //(3) 有数据库密码,有用户密码 可以用该方法,但用户密码处就算设有密码也必须为空,这种方式以独占方式打开

            //"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin"


            #endregion


            #region OLEDB MSSQL


            //OLEDB

            //C# 连接 MSSQL 的方式


            //Windows 身份验证

            //"Provider=SQLOLEDB;Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";

            //SQL Server 身份验证

            //"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";


            #endregion


            #region OLEDB Oracle

            //OLEDB

            //C# 连接 Oracle 的方式


            //"Provider=MSDAORA;Data Source=MyDatabaseAlias;User ID=MyUID;Password=MyPassword";

            #endregion


            //string strConn = @"Provider=Microsoft.Ace.OleDb.12.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123";//Access 2007

            string strConn =

                @"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=123456;";

            OleDbConnection conn = new OleDbConnection(strConn);

            OleDbCommand comm = new OleDbCommand();


            comm.CommandText = "SELECT * FROM Users";

            comm.CommandType = CommandType.Text;

            comm.Connection = conn;

            if (conn.State != ConnectionState.Open)

            {

                conn.Open();

                DataSet ds = new DataSet();

                OleDbDataAdapter da = new OleDbDataAdapter(comm);

                da.Fill(ds);

                conn.Close();

            }

        }


        public void GetSqlConnectionTable()

        {

            #region namespace

            //using System.Data.SqlClient;

            #endregion


            #region MSSQL SqlConnection

            //SqlConnection

            //C# 连接 MSSQL 的方式


            //Windows 身份验证

            //"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";

            //SQL Server 身份验证

            //"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";

            #endregion


            //string strConn = @"server=127.0.0.1\SQLEXPRESS;database=Test;Uid=sa;PassWord=123456";

            string strConn = @"Data Source=PEK7-6TKX23X\SQLEXPRESS;Initial Catalog=Test;Trusted_Connection=Yes;";

            

            SqlConnection conn = new SqlConnection(strConn);

            SqlCommand comm = new SqlCommand();

            comm.CommandText = "SELECT * FROM Users";

            comm.CommandType = CommandType.Text;

            comm.Connection = conn;


            if(conn.State!=ConnectionState.Open)

            {

                conn.Open();

                DataSet ds = new DataSet();

                SqlDataAdapter da = new SqlDataAdapter(comm);

                da.Fill(ds);

                conn.Close();

            }


        }

    }

}


3、Oracle 连接字符串


OLEDB 

"Provider=MSDAORA;Data Source=MyDatabaseAlias;User ID=MyUID;Password=MyPassword";


4、ACCESS 连接字符串


//OLEDB 

//C# 连接 Access 的方式


//Access 2003   Provider=Microsoft.Jet.OLEDB.4.0

//Access 2007   Provider=Microsoft.Ace.OleDb.12.0


//(1) 无数据库密码,无用户密码,共享方式打开

//"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;"

//(2) 有数据库密码,没有用户密码,这种方式以独占方式打开

//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=123"

//(3) 有数据库密码,有用户密码 可以用该方法,但用户密码处就算设有密码也必须为空,这种方式以独占方式打开

//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\qjx 文档 \GenericDemo\Data\Student.accdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin"




MS ACCESS ODBC 开放式接口连接字符串


标准链接:


"Driver= {MicrosoftAccessDriver (*.mdb)};DBQ=C:\App1\ 你的数据库名.mdb;Uid = 你的用户名;Pwd = 你的密码;"


如果 ACCESS 数据库未设置用户名和密码,请留空。下同。


WorkGroup 方式(工作组方式)连接:


"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\ 你的数据库名.mdb; SystemDB=C:\App1\ 你的数据库名.mdw;"


采用独占方式进行连接:


"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\ 你的数据库名.mdb; Exclusive=1; Uid = 你的用户名;Pwd = 你的密码;"


MS ACCESS OLEDB & OleDbConnection (.NET 下的 OleDb 接口)进行链接


普通方式(最常用)连接 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; User Id=admin; Password="


使用工作组方式(系统数据库)连接 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\ 你的系统数据库名.mdw"


连接到带有密码的 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:Database Password = 你的密码"


连接到处于局域网主机上的 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\ 你的数据库名.mdb"


连接到处于远程服务器上的 ACCESS 数据库:


"Provider=MS Remote; Remote Server=http:// 远程服务器 IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb"


MS ACCESS ODBC 开放式接口连接字符串


标准链接:


"Driver= {MicrosoftAccessDriver (*.mdb)};DBQ=C:\App1\ 你的数据库名.mdb;Uid = 你的用户名;Pwd = 你的密码;"


如果 ACCESS 数据库未设置用户名和密码,请留空。下同。


WorkGroup 方式(工作组方式)连接:


"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\ 你的数据库名.mdb; SystemDB=C:\App1\ 你的数据库名.mdw;"


采用独占方式进行连接:


"Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\App1\ 你的数据库名.mdb; Exclusive=1; Uid = 你的用户名;Pwd = 你的密码;"


MS ACCESS OLEDB & OleDbConnection (.NET 下的 OleDb 接口)进行链接


普通方式(最常用)连接 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; User Id=admin; Password="


使用工作组方式(系统数据库)连接 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\ 你的系统数据库名.mdw"


连接到带有密码的 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb; Jet OLEDB:Database Password = 你的密码"


连接到处于局域网主机上的 ACCESS 数据库:


"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\ 你的数据库名.mdb"


连接到处于远程服务器上的 ACCESS 数据库:


"Provider=MS Remote; Remote Server=http:// 远程服务器 IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\ 你的数据库名.mdb"


 


___________________________________


打開 Access 的方式

Access 的打開方式有兩种,一种是以獨占式方式打開,另一种共享方式,如果以獨占式式打開,那么其它的程式在就只能讀這個文件,而不能 update 和 delete. 如果設定了數据庫密碼,C# 就連不上了。默認的是以共享方式打開的.


設定 Access 的密碼

Access 的密碼有 2 种,分別由如下方式設定,

(1)"工具”->" 安全 "->" 设置数据库密码 "

(2)"工具"->"安全"->"用户与组的账户"

手動打開 Access 文件時,會首先提示輸入用戶名和密碼,然后再提示輸入數据庫密碼.


C# 連接 Access 的方式

(1) 無數据庫密碼時 (有沒有用戶密碼該方法都可以), 這种方式以共享方式打開.

OleDbConnection dbconn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\Testdb.mdb;");


(2) 有數据庫密碼時 (有沒有用戶密碼該方法都可以), 這种方式以獨占式方式打開.

OleDbConnection   dbconn   =   new   OleDbConnection(@"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\Testdb.mdb;Jet OleDb:DataBase Password=12345");  


(3) 在數据庫密碼和用戶密碼都有時,可以用該方法,但用戶密碼處就算設有密碼也必須為空,這种方式也將以獨占式方式打開.

OleDbConnection   dbconn   =   new   OleDbConnection(@"Provider=Microsoft.Jet.OleDB.4.0;Data Source=D:\Testdb.mdb;Jet OleDb:DataBase Password=12345;Persist Security Info=true;password=;user id=Admin");


本文分享自微信公众号 - IT 技术分享社区(gh_a27c0758eb03)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。

(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表

(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表

如何解决(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表

使用 SSMS,我可以将链接服务器设置为现有的 MS Access 数据库。这个 MS Access 数据库包含大约 60 个(MS Access)查询。

但是,我只能看到 20 个查询。

请帮我找出这个问题的可能原因。我该怎么做才能看到它们。

非常感谢您抽出宝贵时间。

Access 2016-Access 2019中的链接表失败:“无法读取<table_name>中的数据”

Access 2016-Access 2019中的链接表失败:“无法读取中的数据”

如何解决Access 2016-Access 2019中的链接表失败:“无法读取<table_name>中的数据”

我正在Access 2019上开发Access应用程序。我已将项目分为前端和后端。我试图将应用程序部署到正在使用Access 2016的用户。在前端文件中链接后端表时,我遇到此错误:

The Microsoft Access database engine cannot read the data in Receiving.
The minimum required version to read the data is 16.0.7124.1000.

但是,这仅发生在我的两个表CustomerReceiving中。这是仅有的两个使用AutoNumber设置为Field Size的{​​{1}}字段的表。

Long Integer是否有问题?还是Access 2016不支持AutoNumber字段大小?想知道将表与2019年版中的2016年版链接对我来说最好的选择是什么。

编辑:

以下是Long Integer表的 Database Documenter 工具的输出:

enter image description here

enter image description here

enter image description here

enter image description here

解决方法

此特定错误是由大数字数据类型或BigInt引起的。

您可以阅读有关here的文档

请注意,Access 2016在以后的更新中已添加了支持,这就是为什么最低要求版本以与Access 2016相对应的 16 开头的原因,因此仅更新Access 2016可能会解决您的问题。

>

否则,删除所有大数字字段。

请注意,大数字和设置为 Long Integer 的数字完全不同,长整数为32位长,并且所有版本的Access都支持, 大号的长度为64位,自2017年第二季度以来仅受支持,并且在VBA中使用它时存在某些问题。

从Excel导入时,Access倾向于潜入Large Number数据类型。我强烈建议您避免使用它,除非出于兼容性原因,否则确实需要它,并且可以简化在VBA中使用表的过程。

,

规则往往很简单:

您几乎可以始终前进。其中包括word,excel或Access。

换句话说? 您必须开发并使用Access的最低通用版本。因此,假设您可以使用Access2010。那么2013、2016和2019年的用户将没有问题。

但是,要“回到过去”还是“回到版本”?

这往往是个问题。 那么,如果您仍然会有2016年的用户?然后,那一定是您用于开发的内容。此问题通常适用于Excel或word。您使用的是v-next很棒的版本和一些新功能(或新格式)吗?这样以前的版本就会遇到麻烦。

Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access

Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access

如何解决Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access

我花了几个小时寻找解决方案和故障排除。

我工作的公司将 Access DB 用于生产目的。最近,一位同事被要求在表格和表单中添加一列。哪个按预期工作。但是,由于添加了打印预览和打印的按钮不再起作用,实际上对话框永远不会弹出并且 Access 本身冻结。 CTRL-G 仍然有效。

打印按钮的事件与添加新列之前的事件相同...

  1. Private Sub cmdPrint_Click()
  2. On Error GoTo Error_Handler
  3. ''Open the report only if viewing the inventory not the lot transactions.
  4. If Form_frmViewInv_Sub2.Visible = True Then
  5. MsgBox "Report not available at this time - Please contact your administrator!",_
  6. vbinformation,DATABASE_NAME
  7. Else
  8. DoCmd.OpenReport "rptInventory",acViewPreview
  9. End If
  10. Exit_Procedure: ''Clean up and exit.
  11. On Error Resume Next
  12. Exit Sub
  13. Error_Handler:
  14. displayUnexpectedError Err.Number,Err.Description
  15. Resume Exit_Procedure
  16. Resume
  17. End Sub

没有错误,事件查看器中没有任何内容,Access 只是冻结。

我觉得这很简单,但 Access 不是我的杯中茶。

感谢任何指导或建议。

谢谢。

rptInventory 的代码...

  1. Option Compare Database
  2. Option Explicit
  3. Private Sub Report_Open(Cancel As Integer)
  4. Dim frm As Form_frmViewInv
  5. Dim frm2 As Form_frmViewInv_Sub1
  6. On Error GoTo Error_Handler
  7. ''Set the form object variables.
  8. Set frm = Form_frmViewInv
  9. Set frm2 = Form_frmViewInv_Sub1
  10. ''Transfer the form attributes to the report.
  11. With Me
  12. .RecordSource = frm2.RecordSource
  13. .Filter = frm2.Filter
  14. .FilterOn = True
  15. .OrderBy = frm2.OrderBy
  16. .OrderByOn = True
  17. End With
  18. ''Build the report title.
  19. Me.lblTitle1.Caption = "Company - " & _
  20. Left(frm.lblTitle.Caption,InStr(1,frm.lblTitle.Caption,"(",vbTextCompare) - 3)
  21. Me.lblTitle2.Caption = frm.txtInvDate.Value
  22. Exit_Procedure: ''Clean up and exit.
  23. On Error Resume Next
  24. Set frm = nothing
  25. Set frm2 = nothing
  26. Exit Sub
  27. Error_Handler:
  28. displayUnexpectedError Err.Number,Err.Description
  29. Resume Exit_Procedure
  30. Resume
  31. End Sub
  32. Private Function ProdTypeDesc(ProdType As String) As String
  33. On Error GoTo Error_Handler
  34. ''Get the product type description to display on the grouping.
  35. Select Case ProdType
  36. Case "0"
  37. ProdTypeDesc = "RM - Raw Material"
  38. Case "1"
  39. ProdTypeDesc = "FG - Finished Goods (BAT)"
  40. Case "2"
  41. ProdTypeDesc = "FG - Finished Goods (NER)"
  42. Case "3"
  43. ProdTypeDesc = "MU - MadeUp Recipe"
  44. Case "4"
  45. ProdTypeDesc = "PK - Packaging"
  46. Case Else
  47. ProdTypeDesc = "Unclassified Product Type"
  48. End Select
  49. Exit_Procedure: ''Clean up and exit.
  50. On Error Resume Next
  51. Exit Function
  52. Error_Handler:
  53. displayUnexpectedError Err.Number,Err.Description
  54. Resume Exit_Procedure
  55. Resume
  56. End Function

更新*** 通过在设计视图中从 rptInventory Data->Filter 中删除 ProdType IN(''RM'',''MU'',''PK'',''FG'',''SP''),我能够使其正常运行。不过,我不知道为什么会这样。

access mysql mssql 随机 10条数据的sql语句 原创

access mysql mssql 随机 10条数据的sql语句 原创

access 随机 10条数据的方法
复制代码 代码如下:

select * from table order by rnd(id)

其中rnd(id)中的id为表中的自增长字段
access随机显示记录(不重复)解决方案
复制代码 代码如下:

<%
''-------------------------数据库连接-----------------------
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Server.MapPath("data.mdb")
objConn.Open
''-------------------------数据库连接-----------------------

''-------------------------检索数据-----------------------
strSQL = "SELECT id,DataColumn FROM DataTable"
''Sql语句,检索数据库
Set objRS = Server.CreateObject("ADODB.Recordset")
''创建记录集
objRS.Open strSQL, objConn, 1, 1
''执行检索
Count=objRS.RecordCount
''得到记录总数
Item=4
''显示记录数
''-------------------------检索数据-----------------------
''-------------------------------------------------------------------------------
redim a(Item, 2),t(Count)
''定义2数组,数组a用来储存记录,数组t用来删选记录
''---------------------------------------
''初始数组数值,目的为了插入数据以后和此值做比较
for each j in t
j=0
next
''---------------------------------------
''---------------------------------------
'' 随机抽取记录号
Randomize timer ''初始化随机数生成器
for j=1 to Item
k=int(rnd*Count+1) ''从总数里面随机取一条记录
do while t(k)<>0 ''判断是否记录是否已经在数组中
k=int(rnd*Item+1)
loop
t(k)=1 ''第k条记录被选中
next
''--------------------------------------
j=1:i=1''定义下标
''--------------------------------------
'' 循环选取数据集objRS中的部分记录存放到数组中
Do While Not objRS.Eof
if t(j)=1 then
a(i,1)=objRS("id") ''记录id
a(i,2)=objRS("DataColumn") ''记录内容
i=i+1
end if
j=j+1
objRS.MoveNext
Loop
''--------------------------------------
''-------------------------------------------------------------------------------
''----------------------------显示内容--------------------
for i=1 to Item
Response.write "序号"&a(i,1)&"<br>"
Response.write "内容"&a(i,2)&"<p>"
next
''----------------------------显示内容--------------------
''---------------------------
''释放资源
objRs.Close
set objRs=nothing
objConn.Close
set objConn=nothing
''---------------------------
%>

mssql 随机 10条记录
复制代码 代码如下:

select * from talbe order by newid()


mysql 随机 10条记录
复制代码 代码如下:

select * from table order by rand() limit 0,10

原创请注明出处 www.jb51.net

今天的关于数据库连接串 MSSQL、Oracle、Access数据库连接串是什么的分享已经结束,谢谢您的关注,如果想了解更多关于(SQL Server) 链接服务器到 MS Access 仅显示现有 MS Access 查询的部分列表、Access 2016-Access 2019中的链接表失败:“无法读取中的数据”、Access DoCMD.OpenReport acViewPreview 从不打开预览并冻结 Access、access mysql mssql 随机 10条数据的sql语句 原创的相关知识,请在本站进行查询。

本文标签:

上一篇在大型 Java 项目中有效管理可重用函数(在大型 java 项目中有效管理可重用函数吗)

下一篇MSSQL 分页存储过程(mysql 分页存储过程)